c# - 带 % 的参数化查询

标签 c# sql-server-2008 select parameterized

我有一个选择语句

command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" +
                      " WHERE STATE LIKE @STATE + '%';";

这给了我一个“'”错误

我试过这个

command.commandText = "SELECT FIRSTNAME, LASTNAME FROM MYTABLE" +
                      " WHERE STATE LIKE @STATE" + "'%';";

这给了我“%”错误...正确的方法是什么

最佳答案

你必须在实际参数值中添加 %,而不是在查询中:

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 + "%");

关于c# - 带 % 的参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13846548/

相关文章:

c# - 无法从 Task.FromAsync 方法中的组中选择方法

c# - 如何在 ItemSsource 外部绑定(bind) DataGridComboBoxColumn

sql-server - 商业智能立方体和维度

跨 IPC 的 C# 事件

c# - 我可以 "prime"CLR GC 期望挥霍内存使用吗?

sql - 删除行后留下FILESTREAM文件

java - 我需要为 Java 代码创建一个独立的数据库(最好是 SQL Server)

sql - 在预期的位置找不到 row_number() FROM 关键字

javascript - 如何在 jQuery 中使用数据属性?

select - jqgrid单选复选框