Delphi 中的 SQL 语句抛出“缺少分号”错误

问题描述

我正在将数据从以前的 Access 数据库提取到新的 MS Access 数据库中。我正在使用一个看起来正确的 sql 语句将旧的事务数据插入到新表中,并且可以直接在 MS Access 中工作,但是当我在 Delphi (5) 中执行它时,我收到一个 OLE 错误,指出缺少分号声明的结尾。 我在几个网站上搜索了类似问题的所有答案,但似乎没有与此问题相关的内容。如果有人可以查看代码和语句并发现我的错误,我将不胜感激。

    with InsertQuery do begin
        Close;
        sqlStr := 'insert into trans (Transactionid,saleid,productcode,barcode,description,salequantity,price,';
        sqlStr := sqlStr + 'SalePrice,category,transdate,taxrate,receiptText) values (';
        sqlStr := sqlStr + IntToStr(TransNo)+','+IntToStr(SaleNo)+','+QuotedStr(PCode)+','+QuotedStr(Bcode)+','+QuotedStr(Desc)+',';
        sqlStr := sqlStr + IntToStr(Qty)+','+FloatToStrF(PPrice,ffFixed,10,2)+',';
        sqlStr := sqlStr + QuotedStr(Cat)+','+FormatDateTime('#'+'yyyy-mm-dd'+'#',sDate)+',';
        sqlStr := sqlStr + QuotedStr('E')+','+QuotedStr(RText)+')';
        sql.Add(sqlStr);
        Execsql;
     end;

这是上面生成查询。取自对变量 sqlStr 的检查:

insert into trans (transactionid,saleprice,receiptText) values (2728,1034,'BPG 27/03/2020',1,8.00,'Clubs and Classes',#2019-08-23#,'E','BPGroup 27/03/2020')

正如我上面所说,在 Access 中运行上面的查询工作正常。

任何帮助,非常感谢您的指点。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)