string sqlinsert = "insert into ProjectList values('" + this.DdlRegion.SelectedValue + "','" + this.DdlCategory.SelectedValue + "','" + Rate +"','" + Description + "')"; Description 当在这个字段我填入内容包括单引号时,就报错.请问怎么解决.

解决方案 »

  1.   

    string sqlinsert = "insert into ProjectList values('" + this.DdlRegion.SelectedValue + "','" + this.DdlCategory.SelectedValue + "','" + Rate +"','" + Description.Replace("'","''") + "')"; 
      

  2.   

    1. 再加一个单引号提供算法  : 
        for(int i=1;i<=p;i++)
        {
           b=a.SubString(i,1);
           if(b=="'")
           {
              b = b+"'";
           }
           string = string + b;
        }
    2. 利用存储过程作运算,就是把这个插入的语句先写成存储过程,然后传递变量应该会好的
    http://www.programfan.com/club/showpost.asp?id=49541&t=o
      

  3.   

    找到一句更简便的  str=replace(str,"'","''")    
      

  4.   

    T-Sql字符串中,使用2个单引号表示1个单引号。类似于C#中写string a=“\"hello\"”;
    T-Sql中,SET @Description='He''s a boy',得到的结果是He's a boy
      

  5.   

    哇哈哈.. 這個是VB6寫法,ASP.NET 使用 str = str.Repalce("'","''")
    不過,樓主還是使用存儲過程傳參數的方法吧,更加安全可靠
      

  6.   


    用这个方法,我输入的内容为deploy 'Optimize W/S pallet transfer mothod' in Nanjing and WGQ然后报措:
    incorrect syntax near 'optimize'