日期:2014-05-17  浏览次数:20507 次

存储过程如何参数化sql语句???
有一条分页存储过程,第一个参数是sql语句,sql语句动态拼接而来,为了防止被注入攻击,所以我想参数化这条sql语句,请问怎么做???




------解决方案--------------------
sqlparameter参数,设置数据
select * from tb where id=@id

------解决方案--------------------
防止注入 你把这条sql语句后面加一些特殊字符再传递嘛 存储过程拿到以后截取就好了
------解决方案--------------------
没必要将sql语句作为参数,拼sql的动作放到村存储过程中完成这样不是更好吗?
------解决方案--------------------
OracleParameter[] parameters = {new OracleParameter(":sqlstr", racleType.VarChar, 4000) };
parameters[0].Value = 出入参数;

------解决方案--------------------
sqlParameter本身就会转义的,把sql看成普通的字符串就完了