sql语句中可以用连续的两个单引号表示一个单引号字符,形同C#中的转义字符,
比如select '''' 结果就是一个单引号',所以倘若你的参数 newSmallText[1] 中含有 can't 这样的字符串的话,就可以这样处理:
newSmallText[1].replace("'","''");//引号太不明显了·····总之就是把字符串中的一个单引号替换为两个单引号
利用传参数的方法进行赋值,比如:
strSql = new StringBuilder();
strSql.Append("INSERT INTO table_name(");
strSql.Append("aa,bb)");
strSql.Append(" VALUES (");
strSql.Append("@in_aa,@in_bb)");
cmdParms = new DbParameter[]{
Helper.CreateInDbParameter("@in_aa", DbType.Int32, 1),
Helper.CreateInDbParameter("@in_bb", DbType.AnsiString, “您好”)}
首先,这样拼接SQL语句是不安全的,
你可以这样
sql=string.Format("INSERT INTO {0}(ID,SONG) VALUES({1},'{2}')",m_TextBoxTableName.Text ,newSmallText[0],newSmallText[1]);
用其他的字符替换,读取的时候再替换出来