为了防止sql注入,一般在写sql的时候,不是用的字符串拼接,而是通过参数形式。如下: public static DataSet GetSMSByName(string name)
{
string sql = "select * from table where name=@name order by schid desc";
SqlParameter[] pa = new SqlParameter[]{
new SqlParameter("@name",name)
};
return DBHelper.GetDataSet(sql, pa);
}但是我想通过模糊查询,只要包含了name的就查询出来,不知道用上面这种形式该怎么写。我是这样写的:
string sql = "select * from table where name like '%@name%' order by schid desc";
但是这样写有问题,请教大家,这种情况你们都是怎么写的。
{
string sql = "select * from table where name=@name order by schid desc";
SqlParameter[] pa = new SqlParameter[]{
new SqlParameter("@name",name)
};
return DBHelper.GetDataSet(sql, pa);
}但是我想通过模糊查询,只要包含了name的就查询出来,不知道用上面这种形式该怎么写。我是这样写的:
string sql = "select * from table where name like '%@name%' order by schid desc";
但是这样写有问题,请教大家,这种情况你们都是怎么写的。
public static DataSet GetSMSByName(string name)
{
string sql = "select * from table where name like @name order by schid desc";
SqlParameter[] pa = new SqlParameter[]{
new SqlParameter("@name","%"+name+"%")
};
return DBHelper.GetDataSet(sql, pa);
}
SqlParameter parameter = new SqlParameter("@Name", name) ;
因为这个是参数了!
不信你可以自己测试下!
你上面的永远在
‘’里