这是SQL。
dtaadpResult.SelectCommand.CommandText = " SELECT * FROM tblResult WHERE EventID =" & EventID(Counter1) & " AND ORDER BY Time DESCENDING"
当我尝试填充数据集时会发生这种情况。
dtaadpResult.Fill(dtasetSD, "tblResult")
我使用MS访问,是否添加了paranthesis?我该怎么做
答案 0 :(得分:1)
您的代码可能容易受到SQL注入攻击。使用参数而不是字符串连接。
在完成强制性警告后,请在格式化之后查看您的查询文本:
SELECT
*
FROM
tblResult
WHERE
EventID = @eventId
AND
ORDER BY
Time DESCENDING
问题是你有一个AND
语句后跟ORDER BY
,而你应该有一个谓词子句。
添加另一个子句,或删除AND
运算符关键字。
另外,更多的原型:
Results
代替tblResult
。SELECT
查询并将其传递给DataAdapter
只是为了填补DataTable
或DataSet
,那么您将浪费内存和CPU周期使用DataReader
代替:它更快(并且具有相当低的内存开销)。