有时在文本框里输入单引号,点击提交会报错
想要一个sql函数,用来过滤那些单引号,insert update 这些非法字符。
希望楼下的个位能提供给我一个比较全面的过滤方法。先谢谢大家了!

解决方案 »

  1.   

    字符串里的单引号一般成对出现,用替换函数把'替换成''就没问题了。
    如:as'df提交到数据库肯定出错,如果as''df,到数据库就会变成as'df
      

  2.   

    字符串里的单引号一般成对出现,用替换函数把'替换成''就没问题了。
    如:as'df提交到数据库肯定出错,如果as''df,到数据库就会变成as'df
      

  3.   

    if object_id('tb') is not null drop table tb 
     go 
    create table tb([city] varchar(10) check(patindex('%['']%',city)=0),[money] int)
    insert tb select '北京',100
    union all select '天津',200
    union all select '上海',300
    go
    /*
    (3 行受影响)
    */insert tb select '北’京',100
    /*
    消息 547,级别 16,状态 0,第 1 行
    INSERT 语句与 CHECK 约束"CK__tb__city__5F3414E9"冲突。该冲突发生于数据库"test1",表"dbo.tb", column 'city'。
    语句已终止。
    */
    insert tb select '北''京',100
    /*
    消息 547,级别 16,状态 0,第 1 行
    INSERT 语句与 CHECK 约束"CK__tb__city__5F3414E9"冲突。该冲突发生于数据库"test1",表"dbo.tb", column 'city'。
    语句已终止。
    */在字段做check约束就行了吧
      

  4.   


    string htmlcode;
    htmlcode = "<color>'</color>";
    htmlcode=htmlcode.Replace("'","\"");把单引号替换后再往数据库里进。
      

  5.   

    这种防注入的需要从程序端来控制,交给sql没有意义,也没有作用.