本文实例叙述了在拼接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#数据库程序有一定的借鉴作用。