日期:2014-05-18  浏览次数:20492 次

一个字段的值有单撇,读到程序里如何转义?
一个库字段的值为 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+"')";
------解决方案--------------------
以前也遇到过这个问题,将单引号替换成双引号就行了。
如果有其他需求,可以用别的符号代替,取出的时候再转换一下。