Sql 为什么TADOQuery select语句出现错误?

Sql 为什么TADOQuery select语句出现错误?,sql,delphi,ms-access,ado,delphi-2010,Sql,Delphi,Ms Access,Ado,Delphi 2010,每次我试图设置这个变量的标题时,它都会给我“未指定的错误”,我得出结论 我试图直接从TADOQuery设置标题,并将值赋给变量,然后将其加载到标题中,但无论哪种方式,我都会得到一个未指定的错误 qry1.SQL.Text:=“选择用户拥有的游戏数量,其中UserID=“+sLoggedInUser+”;”; qry1.开放; iCountGames:=qry1[拥有的游戏数量]; lblUserGamesOwned.Caption:=“拥有的游戏:”+IntToStr(iCountGames);

每次我试图设置这个变量的标题时,它都会给我“未指定的错误”,我得出结论

我试图直接从TADOQuery设置标题,并将值赋给变量,然后将其加载到标题中,但无论哪种方式,我都会得到一个未指定的错误

qry1.SQL.Text:=“选择用户拥有的游戏数量,其中UserID=“+sLoggedInUser+”;”;
qry1.开放;
iCountGames:=qry1[拥有的游戏数量];
lblUserGamesOwned.Caption:=“拥有的游戏:”+IntToStr(iCountGames);
数据库设计:

Field Name               Data Type         Description
UserID                   Short Text        Maximum characters is 6
FirstName                Short Text        Maximum characters is 25
LastName                 Short Text        Maximum characters is 25
Cell Number              Short Text        Maximum characters is 10
Number of Games Owned    Number            Integer 

我希望代码将该值加载到变量中,然后使用该变量设置TLabel的标题,但所发生的只是弹出未指定的错误,TLabel保持不变。

我想您只需要在列名周围加上大括号:

SELECT [Number of Games Owned] FROM Users WHERE UserID = "' + sLoggedInUser + '";';

我还建议您使用参数传入
UserId
,而不是使用查询字符串。

我想您只需要在列名周围加上大括号:

SELECT [Number of Games Owned] FROM Users WHERE UserID = "' + sLoggedInUser + '";';

我还建议您使用参数传入
UserId
,而不要咀嚼查询字符串。

谢谢!字段名周围的
[]
解决了此问题。不知道为什么我没有尝试…@Andog如果你要设计数据库的话,最好的做法就是避免字段名中出现空格。它只是增加了不必要的复杂性。@Andog也不应该有那么大的字段名。从表面上看,你完全错了。我假设每个用户都拥有其他一些“游戏”表。为什么不简单地从该表而不是该字段中包含一个计数?谢谢!字段名周围的
[]
解决了此问题。不知道为什么我没有尝试…@Andog如果你要设计数据库的话,最好的做法就是避免字段名中出现空格。它只是增加了不必要的复杂性。@Andog也不应该有那么大的字段名。从表面上看,你完全错了。我假设每个用户都拥有其他一些“游戏”表。为什么不简单地从该表而不是该字段中包含一个计数呢?出于对的喜爱,请养成使用参数的习惯。你真的在这里突破了限制,我认为你列的名称只是为了提问,但你实际上是在寻找被接受的答案。如果你一直这样编码,你会掉进很多坑里。毕竟计算机是哑的,你们应该这样对待它们。您应该使用专门为此设计的变量/工具(作为运算符),并停止与您一起扼杀我们我很抱歉,ms access实际上鼓励您使用此类字段名,如果您让它自动执行操作或使用其向导构建表。更不用说你的母语中的对象名称了……为了你的爱好,请养成使用参数的习惯。你真的是在突破限制,我以为你专栏的名称只是为了提问,但你实际上是在寻找公认的答案。如果你一直这样编码,你会掉进很多坑里。毕竟计算机是哑的,你们应该这样对待它们。您应该使用专门为此设计的变量/工具(作为运算符),并停止与您一起扼杀我们我很抱歉,ms access实际上鼓励您使用此类字段名,如果您让它自动执行操作或使用其向导构建表。更不用说母语中的对象名称。。。