android - 如何使用getContentResolver()。查询多列?

时间:2013-12-29 11:40:25

标签: android sql

我使用下一个代码通过_ID -

获取有关db中行的信息
Cursor c = getActivity().getContentResolver().query(PlacesContract.Places.CONTENT_URI, null,PlacesContract.Places._ID + " = " + id, null, null);

现在我正在尝试使用此查询来检查数据库中是否已存在某个项目,并且我希望检查也会忽略区分大小写。

所以我明白我需要使用spme这段 - ?收集NOCASE。

我想我要检查的行将是这样的 -

String [] projection = {PlacesContract.Favourites.NAME, PlacesContract.Favourites.ADDRESS};

而且我知道,如果每个人都等于一个词,我就会知道某个地方,但是我不明白应该如何将它应用到查询中。

Cursor c = getActivity().getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder)

所以如果有人能帮助我理解它 - 它会很棒 提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

行。它是这样的:(简单联系人查询的例子)

String[] PROJECTION = { ContactsContract.Data._ID, ContactsContract.Data.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.Contacts._ID,
                        ContactsContract.Contacts.IN_VISIBLE_GROUP, ContactsContract.CommonDataKinds.Phone.TYPE };
String SELECTION = ContactsContract.Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'" + " AND "
                            + ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'" + " AND " + ContactsContract.CommonDataKinds.Phone.TYPE + " = '"
                            + ContactsContract.CommonDataKinds.Phone.TYPE_MAIN + "'";

而不是SELECTION中其他值的“1”,您可以相应地添加selectionArgs。