insert into XXX(aaa)values('Madame Pearl's Cough Syrup');AAA 的字段添加内容Madame Pearl's Cough Syrup中会参杂个'符号,造成SQL语句出错。怎么解决?因为我这个是大批量的数据采集,AAA字段里有可能有像 ' 这样会造成异常的字符。我应该怎么解决?

解决方案 »

  1.   

    你可以把'替换为中文的‘ 或者把单引号转换为' 
      

  2.   

    你这样容易形成注入攻击的
    最好用参数形式赋值Parameters.AddWithValue,这样可以无视输入内容的关键字
      

  3.   

    这就是所谓的sql注入的问题,如果是oracle 你就用2个单引号代替即可insert into XXX(aaa)values('Madame Pearl''s Cough Syrup');
      

  4.   

    insert into XXX(aaa)values('Madame Pearl''s Cough Syrup');
      

  5.   

    1.用参数形式是最好的。Parameters.add()2.或者用"代替吧
    ---------------------------
    无忧统计(www.51stat.net)--------打造强大的网站流量统计系统
                 _      _    
                <')_,/ <') ,/
                (_==/  (_==/
                 ='-    ='-
      

  6.   

    string strSQl = @"select *from t_pro where c_name=?p1 and c_pid=?p2 ";
                myCmd.CommandText = strSQl;
                myCmd.Parameters.Clear();
                myCmd.Parameters.AddWithValue("?p1", strPro);
                myCmd.Parameters.AddWithValue("?p2", tv_Pro.SelectedNode.Tag);
                myCmd.CommandType = CommandType.Text;
                myDr = myCmd.ExecuteReader();
                while (myDr.Read())
                {
      

  7.   

    strSql="insert into XXX(aaa)values(@aaa)";    SqlParameter[] parameters = {new SqlParameter("@aaa", SqlDbType.Text)};
        parameters[0].Value = aaa;
    newHelper.ExecuteSql(strSql, parameters);类似于这样的形式。
    ---------------------------
    无忧统计(www.51stat.net)--------打造强大的网站流量统计系统
                 _      _    
                <')_,/ <') ,/
                (_==/  (_==/
                 ='-    ='-