C# 参数化查询,带%
我有一个select语句C# 参数化查询,带%,c#,sql-server-2008,select,parameterized,C#,Sql Server 2008,Select,Parameterized,我有一个select语句 command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" + " WHERE STATE LIKE @STATE + '%';"; 这给了我一个“'”错误 我试过这个 command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" + " WHERE
command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" +
" WHERE STATE LIKE @STATE + '%';";
这给了我一个“'”错误
我试过这个
command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" +
" WHERE STATE LIKE @STATE" + "'%';";
这给了我“%”错误。。。正确的方法是什么?尝试将
%
放在您要绑定的字符串中
stateStr += "%";
然后绑定
stateStr
您必须在实际参数值中添加%,而不是在查询中:
command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE WHERE STATE LIKE @STATE";
command.Parameters.AddWithValue("STATE", "CALI%");
例如,如果在字符串valState
中保存了一些值,只需在AddWithValue
中追加%
:
string valState = "Cali";
// ...
command.Parameters.AddWithValue("STATE", valState + "%");
一个小建议:不要在sql查询中使用字符串连接;)当然可以。。。还有什么其他的选择吗?找到一个了,先生。。。感谢您参见Burgos post:使用参数类!谢谢布尔戈斯。。。状态是一个参数。。。如果我理解你们的要求,我不能硬编码更新后的答案会起作用。如果没有,你能更新你的问题吗?没问题!很高兴我帮了忙!谢谢碎纸机。。。但是STATE的值是作为一个参数来的,所以我不想硬编码,这样您就可以像我在编辑中那样将“%”附加到STATE参数。或者像Burgos在编辑中那样将其附加到实际的bind语句中。这就是你的意思吗?