0

文字列配列の値に等しい data1 フィールドを持つデータベースから行をフェッチしようとしています。これは私がやろうとしている方法です..しかし、それはsqliteexceptionを与えています。

String[] Projection = { ContactsContract.Data.DATA1, ContactsContract.Data.DATA6, ContactsContract.Data.DATA8 };
String Selection = ContactsContract.Data.DATA1 + "= ? ";
c = mContext.getContentResolver().query(CONTENT_URI, Projection, Selection, id, null);

c はカーソルです。id は、データベースの DATA1 フィールドの文字列と一致する必要がある文字列を含む文字列配列です。これを行う他の方法はありますか?? おそらく「IN」を使用していますか?logcat 例外は次のとおりです。

07-03 17:42:49.118 391 391 E DatabaseUtils: android.database.sqlite.SQLiteException: 範囲外のバインドまたは列インデックス: ハンドル 0x584c30

4

1 に答える 1

1

id文字列が 1 つだけ含まれていることを確認します。

また、空である可能性があるため、c.moveToFirst()から値を抽出しようとする前に必ず呼び出してください。Cursor

于 2012-07-03T12:38:40.933 に答える