【发布时间】:2019-08-29 18:21:30
【问题描述】:
我只在数据库中更新一个人的钱。钱被保存为货币,电子邮件被保存为字符串。我的 SQL 抛出语法错误
ADOQuery.sql.text:= ' UPDATE TblPlayerdetails SET Money = "' + Inttostr(NewAmount) + '" WHERE Email = "' + Playersemail + '"';
Newamount 是一个整数,email 是一个字符串。
【问题讨论】:
-
学习使用参数和参数占位符!不要将查询字符串与参数值混为一谈!
-
我不明白你的意思,你能详细说明一下
-
如果您遵循@GordonLinoff 的建议,那么您遇到语法错误的可能性就会大大降低。参见例如docwiki.embarcadero.com/RADStudio/Rio/en/…。您现有的 SQL 不需要 Inttostr(NewAmount) 周围的双引号。
-
你能帮我重写 SQL 还是给一个例子。我不明白你要解释什么@MartynA
-
你应该自己做,否则你什么也学不到。如果您不厌其烦地阅读那篇文章,它会充分解释参数化查询。它链接到的这篇文章展示了如何在运行时指定参数值:docwiki.embarcadero.com/RADStudio/Rio/en/…