在android中的SQL查询

时间:2012-07-03 12:36:14

标签: android sqlite android-contentresolver

我正在尝试从数据库中获取行,其中data1字段euqal为字符串数组中的值。这就是我想要做的......但是它给出了一个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:bind或column index超出范围:handle 0x584c30

1 个答案:

答案 0 :(得分:1)

确保id只包含一个字符串。

并确保在尝试从c.moveToFirst()中提取值之前致电Cursor,因为它可能为空。