C#中编写SQL语句出现单引号怎么办

2024-11-23 04:37:50
推荐回答(4个)
回答1:

sql语句中可以用连续的两个单引号表示一个单引号字符,形同C#中的转义字符,
比如select '''' 结果就是一个单引号',所以倘若你的参数 newSmallText[1] 中含有 can't 这样的字符串的话,就可以这样处理:
newSmallText[1].replace("'","''");//引号太不明显了·····总之就是把字符串中的一个单引号替换为两个单引号

回答2:

利用传参数的方法进行赋值,比如:

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, “您好”)}

回答3:

首先,这样拼接SQL语句是不安全的,
你可以这样
sql=string.Format("INSERT INTO {0}(ID,SONG) VALUES({1},'{2}')",m_TextBoxTableName.Text ,newSmallText[0],newSmallText[1]);

回答4:

用其他的字符替换,读取的时候再替换出来