我在整理一个数据库,不知道什么字符导致SQL语句出错,把单引号都替去了,试了一次,发现 也会引起更新语句出错,替换掉 后,还有错,很头疼,不知道是怎么搞的,是不是像[,],&,*,$,@,#这样的字符都会引起问题,我想知道除单引号以外,到底其它的什么字符会引起SQL语句出错????

解决方案 »

  1.   

    把生成的sql语句拷到查询分析器,看是什么地方的问题
      

  2.   

    不是SQL语句本身错误,我把别的数据库中的内容导到新库中,别的数据库中有非法字符,但我不知道是什么字符使查询语句出错了。
      

  3.   

    查询语句用参数能解决这个问题
    insert into table(field1) values(@f)
      

  4.   

    用Sql Server 2000 的事件探测器
      

  5.   

    你看一下关于SQL注入吧,这部分内容会介绍的很详细的.除了这些所谓的"非法字符外"还有就是这些"非法字符"与数据库关键字的组合.所以虽然SQL SERVER能够屏蔽这些字符的"转义功能"但是在导入到别的数据库,或者进行别的操作时,还是会出问题的.所以建议任何数据库操作都要对SQL注入进行过滤,除非所有的数据库和应用程序都能智能的处理这个问题