[原創]ACCESS 查寻时应用 LIKE句子

企业   公布    tags:OleDbParameter acces

  在ASP.NET网页页面中,假如要采用LIKE句子查寻,能够立即像写ASP一样拼凑,那样查寻是沒有难题的,拼凑出去的句子以下:

sql = @"select * from User where [UserName] like '%" + this.TB_UserName.Text + "%' and [National] like '%" + this.DDL_National.SelectedValue.ToString() + "%'  ....

点一下网页页面查寻按键,能一切正常回到結果。

  自然稍有安全性基本常识的人都了解,那样的书写立即取得数据信息库查寻是毫无疑问会造成难题的,那么就是SQL引入,因此在查寻前一定要对拼凑回来的值开展认证。可是认证得话又太不便,因此能够用主要参数式传送来处理,SQL句子以下:

  sql = "select * from QhWins_soldier where [UserName] like '%@UserName%' and [National] like '%@National%' .....

  OK,再进一步界定主要参数,把主要参数放到OleDbCommand 的案例cmd中来,送到数据信息库查寻,嘿嘿,内心想的乐滋滋的,检测一下,居然查寻不上一切結果,而网页页面都不出错,TMD,郁天地之大闷也!搞来搞去,原先是MS的BUG,美梦裂开!

  因此走曲线图救国,引进instr()涵数,SQL句子以下:

sql = "select * from QhWins_soldier where instr([UserName],@UserName) and instr([National],@National)  and  ....

  還是主要参数式传参,难题处理!

  留意,用此方式還是要对主要参数开展过虑,要不然還是会出现引入的,检测方式:

.net 检索引入,原創,嘿嘿
在检索中键入
重要字) and (1=1  ,随后检索,能够引入instr()涵数,此方式合适引入:用ACCESS做的站,采用查寻句子的情况下。

基本原理:

英语的语法不正确 (实际操作符遗失) 在查寻表述式......省去
改善后句子变为下边的,
 'instr([Birthplace],西宁市) and (1=1) order by [id] desc'

取得成功引入

关掉本页 复印本页

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://jzabcd.cn/ziyuan/2361.html