首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

这个代码和那个代码有什么区别?该怎么解决

2012-02-01 
这个代码和那个代码有什么区别???这个代码和那个代码有什么区别???----------------------代码一:stringst

这个代码和那个代码有什么区别???
这个代码和那个代码有什么区别???
----------------------
代码一:
string   strSel2   =   "select   *   from   qz   where   qz_id=@Id ";
SqlCommand   myCommand   =   new   SqlCommand(strSel2,MyConnection);
myCommand.Parameters.Add(new   SqlParameter( "@Id ",11));
myCommand.Parameters[ "@Id "].Value   =   Request.QueryString[ "qz_id "];
==============================================
代码二:
string   strSel2   =   "select   *   from   qz   where   qz_id= ' "+Request.QueryString[ "qz_id "]+ " ' ";
SqlCommand   myCommand   =   new   SqlCommand(strSel2,MyConnection);
====================================
这两个代码效果一样,哪种好些???

[解决办法]
代码一用到了SQL参数绑定, 这样的SQL语句可以使用危险字符, 如单引号, 逗号等.
代码二则没有, 如果参数是Request.QueryString[ "qz_id "] = "xxx ', 'xxx 'xmmc, "象这样的就会引起执行SQL错误, 第一种就可以正常执行, 你可以试试
[解决办法]
第一种数据类型安全,又防SQL注入

第二种拼接字符串很不可取
[解决办法]
第一种是用的是存储过程,第二种用的是sql语句;
第一种快而且安全

热点排行