2

我必须在数据库中插入某些文本,这些文本可能包含带单引号和双引号的字符。

例如:“Lumix”或类似Vijay 的

我已经成功地逃脱了这样的双引号:

if(fdata.search('"') != -1) {


fdata = fdata.replace(/(['"])/g, "\\$1");



}  

但我不明白如何转义单引号。不转义单引号 SQLite 不接受数据。如何解决问题?提前致谢!

4

3 回答 3

4

使用参数,那么你不需要转义任何东西:

db.execute('INSERT INTO MyTable(ID, Name) VALUES(?, ?)', 123, name);
于 2013-02-25T12:01:39.623 回答
1

CL. 的答案是迄今为止最好的解决方案,但如果你想在不重写代码的情况下完成这项工作,你可以添加这个函数:

function removeQuotes(str){
return str.replace(/'/g, "'").replace(/"/g,""");
}

用法:

fdata = removeQuotes(fdata);

这对我有用

于 2014-04-06T14:00:17.227 回答
0

使用replaceAll方法替换'(single quote)如下space

     String name= name.replaceAll("'", "''");
于 2013-02-25T10:54:37.653 回答