私は選択クエリのカーソルを作成しています。 WHEREセクションのルックアップ値はパスである変数を参照するため、パスにはいくつかの完全なストップがあります。androidのsqLite prob where句
クエリにはこのようなエラーはありません。エラーは、参照値である名前、つまりその中に停止しているパスで名前が付けられたcolという名前ではありません。変数にsqlEscapeユーティリティを使用するとエラーは発生しますが、ルックアップは失敗します。
お願いします。
私は選択クエリのカーソルを作成しています。 WHEREセクションのルックアップ値はパスである変数を参照するため、パスにはいくつかの完全なストップがあります。androidのsqLite prob where句
クエリにはこのようなエラーはありません。エラーは、参照値である名前、つまりその中に停止しているパスで名前が付けられたcolという名前ではありません。変数にsqlEscapeユーティリティを使用するとエラーは発生しますが、ルックアップは失敗します。
お願いします。
あなたのコードのビットがなければ、言い難いが、私はあなたが一緒にこのような句入れている推測している:
String value = "some.thing.or.other";
String where = "FIELD = " + value;
がパラメータwhere句の代わりに
String value = "some.thing.or.other";
String where = "FIELD = ?";
SQLiteDatabase db = fDbOpener.getReadableDatabase();
Cursor results = db.query(TABLE_NAME, COLUMNS_LIST, where, new String[] { value }, null, null, null);
を構築してみを
今すぐクエリメソッドを実行すると、SQLiteは値としてwhere句に値を代入します。つまり、値の解釈を試みないため、完全な停止を誤って構文に間違えることはありません。
ありがとうマーク - それはそれを修正しました。 – ron
いくつかのコードは便利です...推測は楽しいですが、おそらくそれはあなたにとって有用ではありません。 –