您的位置:首页 > 编程学习 > ASP.NET > 正文

ASP.NET参数化模糊查询

更多 时间:2014-7-30 类别:编程学习 浏览量:622

ASP.NET参数化模糊查询

ASP.NET参数化模糊查询

一、参数化查询的原理

 

在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成SQL指令的编译后,才套用参数运行,因此就算参数中含有恶意的指令,由于已经编译完成,就不会被数据库所运行。 有部份的开发人员可能会认为使用参数化查询,会让程序更不好维护,或者在实现部份功能上会非常不便,然而,使用参数化查询造成的额外开发成本,通常都远低于因为SQL注入攻击漏洞被发现而遭受攻击,所造成的重大损失。

 

 

二、使用参数化SQL语句进行模糊查找的正确方法

 

//定义sql语句

string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like @StudentName";

//给参数赋值

paramList.AddWithValue("@StudentName", "%" + strStudentName+ "%"));

 

三、常见的错误写法

 

错误做法1

string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like '%@StudentName%'";

paramList.AddWithValue("@StudentName", strStudentName));

 

错误做法2

 

string sql = "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like %@StudentName%";

paramList.AddWithValue("@StudentName", strStudentName));

 

 

标签:ASP.NET 参数化