1.将一个单引号化为两个
"select * from biao where name='"+textBox1.Text.Replace( "'" , "''")+"'"
2.使用参数,可以参考msdn

解决方案 »

  1.   

    防止注入试攻击,TEXTBOX 有单引号会导致SQL语句错误
    除了用替换REPLACE 方式,最好用
    “select * from biao where name=@username" 方式传查询参数进去。
      

  2.   

    单引号括住的数据被sql语法视为字符串,未被单引号括住的数据被视为数字。
      

  3.   

    查询带有单引号的数据:string selectcmd="SELECT * FROM SORCE WHERE NAME='"+TEXTBOX.TXET.replace(" ' ", " , ")+"'"我没有注意大小写,你自己改一下吧。
    有单引号的部分使用单引号替换啦!
      

  4.   

    例如要查找 "SELECT * FROM SCORE WHERE NAME = '"+"JACK'CHEN"+"'"c#会编译成
    SELECT * FROM SCORE WHERE NAME =‘JACK’CHEN‘
    不就会出现异常了吗 ?