我必须在数据库中插入某些文本,这些文本可能包含带单引号和双引号的字符。
例如:“Lumix”或类似Vijay 的
我已经成功地逃脱了这样的双引号:
if(fdata.search('"') != -1) {
fdata = fdata.replace(/(['"])/g, "\\$1");
}
但我不明白如何转义单引号。不转义单引号 SQLite 不接受数据。如何解决问题?提前致谢!
我必须在数据库中插入某些文本,这些文本可能包含带单引号和双引号的字符。
例如:“Lumix”或类似Vijay 的
我已经成功地逃脱了这样的双引号:
if(fdata.search('"') != -1) {
fdata = fdata.replace(/(['"])/g, "\\$1");
}
但我不明白如何转义单引号。不转义单引号 SQLite 不接受数据。如何解决问题?提前致谢!
使用参数,那么你不需要转义任何东西:
db.execute('INSERT INTO MyTable(ID, Name) VALUES(?, ?)', 123, name);
CL. 的答案是迄今为止最好的解决方案,但如果你想在不重写代码的情况下完成这项工作,你可以添加这个函数:
function removeQuotes(str){
return str.replace(/'/g, "'").replace(/"/g,""");
}
用法:
fdata = removeQuotes(fdata);
这对我有用
使用replaceAll
方法替换'(single quote)
如下space
:
String name= name.replaceAll("'", "''");