【发布时间】:2014-08-18 00:18:28
【问题描述】:
我正在使用 Delphi XE2 和 AnyDAC 以及一个 MSAccess 数据库。
'timea' 表有 5 个字段:
Rec_No 自动编号
应用文字
用户 ID 文本
私服文字
评论备忘录
此代码引发以下错误。该查询在 Access 查询设计器中运行良好。
sql := 'INSERT INTO [timea] (App, User_ID, PW, Comment) VALUES ("zoo", "Bill", "mi7", "Liger");';
adconnection1.ExecSQL(sql);
Project PWB.exe 引发异常类 EMSAccessNativeException,并带有消息“[AnyDAC][Phys][ODBC][Microsoft][ODBC Microsoft Access Driver] 参数太少。预计 4.'。
【问题讨论】:
-
您是否尝试过在列名周围使用方括号?
-
尝试单引号而不是双引号。
-
单引号应该可以解决问题。我不了解 AnyDAC,但 ADO (
TADOConnection) 也允许使用双引号。在实际代码中,使用参数。 -
@Frazz - 括号里没有乐趣。
-
@Dan Bracuk - 单引号不起作用,但双引号起作用。谁知道?
标签: sql delphi ms-access anydac