中易网

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

答案:5  悬赏:10  
解决时间 2021-01-17 17:51
  • 提问者网友:了了无期
  • 2021-01-17 05:43
C#中编写SQL语句出现单引号怎么办
最佳答案
  • 二级知识专家网友:怀裏藏嬌
  • 2021-01-17 06:09
利用传参数的方法进行赋值,比如:

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, “您好”)}
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-01-17 09:33
用其他的字符替换,读取的时候再替换出来
  • 2楼网友:行路难
  • 2021-01-17 08:12
首先,这样拼接SQL语句是不安全的,
你可以这样
sql=string.Format("INSERT INTO {0}(ID,SONG) VALUES({1},'{2}')",m_TextBoxTableName.Text ,newSmallText[0],newSmallText[1]);
  • 3楼网友:野慌
  • 2021-01-17 06:48
利用传参数的方法进行赋值,比如:
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, “您好”)}
  • 4楼网友:像个废品
  • 2021-01-17 06:20
sql语句中可以用连续的两个单引号表示一个单引号字符,形同C#中的转义字符,
比如select '''' 结果就是一个单引号',所以倘若你的参数 newSmallText[1] 中含有 can't 这样的字符串的话,就可以这样处理:
newSmallText[1].replace("'","''");//引号太不明显了·····总之就是把字符串中的一个单引号替换为两个单引号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息