注意:我使用的是Microsoft SQL Compact Edition 3.5
我有一个用户表。我有显示名称作为用户输入,我需要查询显示名称与输入匹配的所有用户。
select TOP (1) * from users where display_name like 'Abby Parker'
此处'Abby parker'
是输入
在正常情况下工作正常。但问题是显示名称可以包含特殊字符
例如,显示名称可以是"Abby Park#er"
,也可以是"%&^%&^%#%"
。在这种情况下,上述查询失败。我已经尝试过这里指定的解决方案
Escaping special characters in a SQL LIKE statement using sql parameters
这就是我在这里构建查询的方式
var command = ceConnection.CreateCommand();
command.CommandText = string.Format("select TOP (1) * from {0} where {1} like '[{2}]' ", tableName,fieldName, key);
}
提前致谢