|M| 对SQL字符过行转换的不明白
text = text.Replace( "\ " ", "" ");
text = text.Replace( "; ", " ' '; ' ' ");
text = text.Replace( " ' ", " ' ' ");
text = text.Replace( "-- ", " ' '-- ' ' ");
这是我看别人查询数据库时对语句的转换
但是要是这样写查询的话那我如我的表
ID User Pass
9 -- a0486ff05530df6c 2
10 : 903f6d77e456892f 3
11 \ 9d8a121ce581499d 1
12 ' df80460f38209566 1
我要分别查出这里面的记录的话用 where User=??
这种方法的话那不是查不出来
我个人认为是不是text = text.Replace( " ' ", " ' ' ");
有这一种就行了
大家说说看法
------解决方案--------------------用sqlcommand的参数就不用考虑这些了
------解决方案--------------------用户名可以允许这么多怪异的字符?
------解决方案--------------------有这样的用户名:)
------解决方案--------------------他应该是过滤掉一些SQLSERVER的注入式攻击的作用,用sqlcommand也可以达到他的目的
------解决方案--------------------建议用sqlcommand
------解决方案--------------------哎 现在还在 回车键 徘徊呢 真是的 郁闷
------解决方案--------------------
------解决方案--------------------查询的话
先把查询的条件的值也转换了,再拼sql语句。
------解决方案--------------------注意不要循环的转化了。
比如;-> "-> ""这样的问题
------解决方案--------------------防止sql注入用的,可以用代入参数而不是直接拼接sql命令。