2017-10-14 25 views
2

ファイルからデータを抽出し、sqlite dbに挿入します。特殊文字をCodenameの1文字列でエスケープする

データに特殊文字が含まれるまで、すべて正常に動作します。

など。私は、インサートURLをしようとしたとき、私は試してみて、「私はよ」それは「'」に失敗したインストールするときには、理由は「//」

または...で失敗し

(現時点ではI回避策としてREPLACE機能を使用していますが、これには問題があります)

これらの文字をエスケープする方法を教えてください。私はのparams引数を受け取り、SQLクエリのバージョンを使用して、それがエスケープを必要としないように、その使用をお勧めし

答えて

1

ありがとうございました。一重引用符「 '」を使用してデータを囲む場合は、ほとんどの文字でエスケープする必要はありません。

+0

私が従うかどうかわかりません - 私のコードはここにあります db = Display.getInstance()。openOrCreate( "myDb.db");String sqlStringRaw = "myTable(col1、col2)の値に挿入します( '" + col1Val + "'、+" + col2Val + "')"; db.execute(sqlStringRaw); 私はパラメータ化された文字列を使用しており、引用符で全体をラッピングしています。 デバッグ出力:ここに sqlStringRaw =(java.lang.Stringで) "mytableは挿入(COL1、COL2)の値( '2b8575df5'、 '私のAPIの')" エラー は[S」の近くにあります... ":syntax error:] –

+1

' String sqlStringRaw = "myTable(col1、col2)の値(?、?)に挿入してみてください。 '次にdb.execute(sqlStringRaw、新しい文字列[] {col1Val、col2Val}); ' –

関連する問題