本文实例叙述了在拼接sql语句的时候,如果遇到Like的情况该怎么办。
一般采用带like的SQL语句进行简单的拼接字符串时,需要开率遇到sql注入的情况。这确实是个需要注意的问题。
这里结合一些查阅的资料做了初步的整理。
如这样一个sql语句:
select * from game where gamename like '%张三%'
用c#表示的话:
string keywords = "张三";
StringBuilder strSql=new StringBuilder();
strSql.Append("select * from game where gamename like @keywords");
SqlParameter[] parameters=new SqlParameter[]
{
new SqlParameter("@keywords","%"+keywords+"%"),
};
这里虽然采用了仍然是用% 来写,但是可以有效过滤sql注入的情况,还是挺简单实用。
相信本文所述对大家构建更安全的C#数据库程序有一定的借鉴作用。
您可能感兴趣的文章:SQL Select语句完整的执行顺序SQLServer中SELECT语句的执行顺序数据库中的SELECT语句逻辑执行顺序分析C#中while循环语句用法实例详解C#使用foreach语句遍历队列(Queue)的方法C#中foreach语句使用break暂停遍历的方法C#使用foreach语句简单遍历数组的方法C#语句先后顺序对程序的结果有影响吗