要是想储存带有'符号的字符串
是不是一定要用到储存过程才行啊
高手们支点招吧
如何是好
你们是怎么处理带有'的字符的,

解决方案 »

  1.   

    System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection("连接字符串");
                System.Data.SqlClient.SqlCommand cm = new System.Data.SqlClient.SqlCommand();
                cm.Connection = cnn;
                cnn.Open();
                cm.CommandText = "insert into table1 (field1,field2) values (@fiel1,@field2)";
                cm.Parameters.Add("@fiel1",System.Data.SqlDbType.VarChar);
                cm.Parameters["@field1"].Value = "*#^@(*$^'(#&$";
                cm.Parameters.Add("@fiel2",System.Data.SqlDbType.VarChar);
                cm.Parameters["@field3"].Value = "'erh''ge'ger'$";
                cm.ExecuteNonQuery();
    //......
      

  2.   

    如果lz仅仅是用字符串连接来写sql语句,那么把一个单引号替换成两个连续的单引号也可以:
    cm.CommandText = "insert into table1 (field1,field2) values ('"+this.TextBox1.Text.Replace("'","''") +"','"+this.TextBox2.Text.Replace("'","''") +"')";
      

  3.   

    用Parameters就可以了不要直接把参数和值都添到SQL语句里,再执行语句
      

  4.   

    替换的话起不了作用?
    可能除了用Parameters就没有别的方法了
      

  5.   

    xxx.Replace("'","''")应该是可以的。将'替换为''已经转义(对于SQL来说)了。如果还不行
    xxx.Replace("\'","\'\'")试试.其实一样的。想知道你代码怎么写的。
      

  6.   

    要是用Parameters储存的话
    那就是直接存进数据库了吧,不用进行过滤什么了吧