鉴于 conn
是一个 OdbcConnection
对象并且 count
是一个 int
,我将如何使用 count 作为参数我的查询?
...
var query = conn.CreateCommand();
query.CommandText = "select top ? * from players order by Points desc";
query.Parameters.Add("top", OdbcType.Int).Value = count;
var reader = query.ExecuteReader();
while (reader.Read())
{
...
}
...
这样我得到一个语法错误 ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '@P1'.
如果我尝试的方法不可行,我该如何改用正确的方法?
最佳答案
您还可以使用 SET ROWCOUNT,优点是您可以使用整数作为参数并避免动态查询。
SET ROWCOUNT @top;
select * from table;
SET ROWCOUNT 0;
关于c# - 如何将限制定义为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255115/