gpt4 book ai didi

sql - MS Access SQL参数太少。预期4

转载 作者:行者123 更新时间:2023-12-03 18:47:42 25 4
gpt4 key购买 nike

我正在使用Delphi XE2和AnyDAC和MSAccess数据库。

表“ timea”具有5个字段:


Rec_No自动编号
应用文字
User_ID文字
PW文字
评论备忘录


此代码将引发以下错误。该查询在Access查询设计器中工作正常。

sql := 'INSERT INTO [timea] (App, User_ID, PW, Comment) VALUES ("zoo", "Bill", "mi7", "Liger");';
adconnection1.ExecSQL(sql);


项目PWB.exe引发了带有消息'[AnyDAC] [Phys] [ODBC] [Microsoft] [ODBC Microsoft Access Driver]的异常类EMSAccessNativeException参数太少。预期4.'。

最佳答案

SQL和Delphi都使用单引号作为字符串边界。由于您想在字符串中包含单引号,因此必须使用doube单引号“转义”它。

例如,如果编写S := 'Guns''N''Roses',则变量S将包含字符串Guns'N'Roses-12个字符,而不是14个字符。

连接字符串值时要小心,因为它们也可能包含单引号。在这种情况下,推荐的查询写方法是:

sql := 'INSERT INTO Table (Col) VALUES (' + QuotedStr(Val) + ')';


函数 QuotedStr将注意并将字符串中的所有单引号引起来加倍。这对于避免插入黑客攻击也至关重要。

关于sql - MS Access SQL参数太少。预期4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com