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