使用参数化查询填充数据列表
本文关键字:填充 数据 列表 查询 参数 | 更新日期: 2023-09-27 18:12:33
我一直在尝试使用如下参数在sql查询中传递不同的值:
SELECT TOP 5 *
FROM Events
WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)
查找由参数@limit
的值指定的前n行之后的记录。
。如果指定值10,则查询返回第6-10行。
现在我正在做的是
string str = "SELECT TOP 5 * FROM Events WHERE EID NOT IN (SELECT TOP @limit EID FROM Events ORDER BY EID)"
SqlCommand cmd=new SqlCommand(str,con); // con is the connection string
cmd.Parameters.AddWithValue("limit", value);
SqlDataAdapter sda= new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
数据集ds
被绑定到一个Datalist
。
当前抛出的错误是
" @limit附近语法错误"
代码有什么问题?
当使用参数拉动TOP n
时,您必须将参数括在括号中:
string str= "SELECT TOP 5 * FROM Events WHERE EID NOT IN (SELECT TOP (@limit) EID FROM Events ORDER BY EID)"