我目前正在尝试构建一个SqlCommand
.
类似的东西
myCommand.CommandText = "SELECT * " +
"FROM TABLE1 " +
"@whereClause";
//I build up the where clause with a StringBuilder
myCommand.Parameters.AddWithValue("@whereClause" theClause.ToString());
但这似乎是不可能的。我得到了例外:
SqlException '@whereClause' 附近的语法不正确
我想做这样的事情的原因是因为我想避免对数据库的 X 调用,这样我就将排序和过滤留给了服务器。
反正有没有做类似的事情?
/edit : where 子句看起来像这样WHERE (TABLE1.COL1 = 'the value' OR TABLE1.COL1 = 'another value' OR TABLE1.COL1 = 'this value' ... )
/edit 最后这是由于一个愚蠢的拼写错误......在我更改为不使用参数化查询之后。我会赞成那些帮助我的答案。即使它没有修复我的(愚蠢的)错误,我也会将更接近修复我的情况标记为答案