2017-03-27 7 views
0

私はデータベースにあまり良くありませんが、簡単なデータベース操作を管理できます。現在、私はテーブルにデータを挿入するときに1つの問題に直面しています。私はシナリオを説明しましょう。未知の文字(「、」、「など」)を含む文字列を挿入します

私のアプリでは、GoogleMapSDKで場所を検索してから、1か所を選択している場所のリストをドロップします。次に、その場所をお気に入りとして追加し、すべてのデータをデータベースに挿入します。今問題はGoogleMapSDKが "" Sapna''SPa '' '' '' 'のような場所名を厄介なものに戻していることです。データベースのクエリでは、このデータをデータベースに挿入することはできません。

どうすればこのようなデータを挿入できますか?

一重引用符または二重引用符が含まれていて、バックスラッシュで管理できる場合はわかりますが、どのデータがそこにあるかわからない場合はどのように管理できますか?

charを置き換えたり削除したりすることなく、データをそのまま保存したいと思います。

誰かが解決策を持っている場合は、共有してください。

+0

prepared statementを使用してください。 http://stackoverflow.com/questions/1187154/how-to-write-prepared-statements-for-sqlite-in-iphone – Tschallacka

+0

ありがとうございます。私を試してみましょう – VRAwesome

+0

こんにちは.... @ Tschallackaあなたは確認してください私の編集した質問? – VRAwesome

答えて

1

完全なクエリ文字列を自分で作成するのではなく、変数プレースホルダを使用してクエリを準備することができます。例えば

a) INSERT INTO yourtable (name) VALUES ('''Sapna''SPa’’’’’’’') 

b) INSERT INTO yourtable (name) VALUES (?) 

私はObjective-Cのに慣れていないんだが、通常、あなたが3つの段階で安全にquerysを実行することができます。

  1. は(プレースホルダを使用してクエリを記述し、それを準備likeクエリb)
  2. 変数をプレースホルダにバインド

詳細については、sqliteドライバのマニュアルを参照してください。

+0

こんにちは....これを試してから私の質問を編集しました。 – VRAwesome