2011-08-15 7 views
1

getContentRsolver().query()を複数のselectionargsで使用しようとしていますが、正しい構文を理解できません。私は得る"SQLiteException: bind or column index out of range"複数のselectionargsに対してgetContentResolver()。queryを使用する方法?

contactNumberArrayは、すべての連絡先番号を持つ文字列配列です。

getContentRsolver().query(CONTENT_URI, Projection, caller_number + "=?", contactNumberArray, null); 

このクエリは、文字列配列に1つの連絡先番号しかない場合でも正常に動作しますが、複数の連絡先番号がある場合は機能しません。複数のselectionargsを照会する特定の方法はありますか?

誰かがこの問題に関して何か指摘している場合は教えてください。

+0

どのようなプログラミング言語ですか?どのようなSQLiteライブラリですか?どのプラットフォームですか? –

+0

ごめんなさい。プログラミング言語はJavaで、プラットフォームはAndroid Froyo 2.2です。 – Abhi

答えて

2

複数selectionargsため

ファーストを照会するための具体的な方法はあります、あなたのSQLの構文が間違っています。比較の右側に複数の可能な値があると予想される場合は、=ではなく、IN演算子を使用する必要があります。

第2に、AFAIKでは、このために位置パラメータを使用することはできません。

-1

caller number in (?,?,...)ここで、?の数はcontactNumberArrayの長さです。 caller number=? OR caller number=?を使用することもできます。

関連する問題