执行sql语句时参数化,有什么好处

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:19:54
比如:
string sql = "insert into infill(levels,times,point) values(@levels,@times,@point)";
SqlParameter[] par = new SqlParameter[]
{
new SqlParameter("@levels",levels),
new SqlParameter("@times",times),
new SqlParameter("@point",point)
};
DbHelperSQL.ExecuteNonQuery(sql,par);
不用参数就可以
string sql = "insert into infill(levels,times,point) values("+levels+","+times+","+point+")";
DbHelperSQL.ExecuteNonQuery(sql,par);
最后一句写错了,是DbHelperSQL.ExecuteNonQuery(sql);

防止sql注入

好处是可以和程序或网站的使用者进行交互对话,根据使用者提供的信息搜索出不同的答案。

防注入。
比如你登录的语句写成:
string sql="select uid from login where uid='"+uid+"' and pwd='"+pwd+"'";
那只需要把密码写成'or'0'='0就可以登录了