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 に答える