【发布时间】:2016-07-14 07:51:39
【问题描述】:
我有一个用户列表(作为字符串变量),并希望将其用作我的 SQL 选择第一项代码的条件(一次一个用户)。因此,我将 SQL 查询作为字符串稍后在代码中运行。
我试过了:
strSQL = "SELECT TOP 1 Item.Code FROM Item WHERE Item.User = '"
strSQL = strSQL & strUserName & "' ORDER BY ID DESC"
如果以strUserName = "A-user"为例,我只得到这个SQL字符串,根据"Quick Watch...":
SELECT TOP 1 Item.Code FROM Item WHERE Item.User = 'A-user
"' ORDER BY ID DESC" 的部分根本不包含在 SQL 字符串中!
对于使用 "Set rst = CurrentDb.OpenRecordset(strSQL)" 运行 SQL 查询,我收到此错误:
运行时错误“3075”: 查询表达式 'Item.User = "A-user"
中的语法错误(缺少运算符)
我该如何解决这个问题?
【问题讨论】:
-
请显示更多您的代码,因为您的字符串连接应该根据当前显示的代码工作。但是,像这样构建 SQL 语句是 SQL 注入的经典方式……