微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。