一个字段的值有单撇,读到程序里如何转义?
一个库字段的值为 hello'world
比如我string aaa=dt.Rows[0]["value"] //dt.Rows[0]["value"] hello'world
sql="insert into 表A (id,notes) value (1,'"+aaa+"')";
execute(sql) 这时就会出错,因为aaa中个撇号,执行sql就出错了,该怎么解决啊?
------解决方案--------------------
sql="insert into 表A (id,notes) value (1,'"+aaa.Replace("'","''")+"')";
------解决方案--------------------aaa=aaa.Replace("'", "''");
------解决方案--------------------先把' 替换成 ''
------解决方案--------------------是values
如果还是不行的话你就用
string sql=string.Format("insert into a(id,note)values({0},{1})",1,aaa);
------解决方案--------------------在数据库中(oracle)可以在sql中进行replace函数替换掉
------解决方案--------------------还有sql语句错了!
sql="insert into 表A (id,notes) values (1,'"+aaa+"')";
------解决方案--------------------以前也遇到过这个问题,将单引号替换成双引号就行了。
如果有其他需求,可以用别的符号代替,取出的时候再转换一下。