一个查询页面,让用户在txtA中输入一个人名,就可以查出这个人的资料。
写法如下:
“ SELECT * FROM person WHERE person_name=’” & txtA.Text & “’”
如果用户在txtA中输入’ or ‘1’=’1
就可以查出所有人的资料了,我不想让他查出所有人的资料。请问各位高手是怎样解决这个问题的。
...全文
2711打赏收藏
一个查询问题
一个查询页面,让用户在txtA中输入一个人名,就可以查出这个人的资料。 写法如下: “ SELECT * FROM person WHERE person_name=’” & txtA.Text & “’” 如果用户在txtA中输入’ or ‘1’=’1 就可以查出所有人的资料了,我不想让他查出所有人的资料。请问各位高手是怎样解决这个问题的。
晕,可以这样用:
这个SQL写成“ SELECT * FROM person WHERE person_name= @person_name";
再对这个@person_name赋值,就解决了你的问题。(具体代码不写了,给你点思路)
PS:你那种组合sql的方法很容易被破解,特别是在登陆时,一般登陆采用的是参数方法,这样可以避免错误,在C#中,用参数方法,是将参数值作为一个整体,赋给sql,