ALL, 我正在尝试执行以下代码:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, "ContactsContract.Contacts.DISPLAY_NAME LIKE '" + name + "'", null, null );
然而,当运行此代码时,我收到了SQLite异常:“不知道这样的文件ContactsContract.Contacts.DISPLAY_NAME:,同时编译”.....“”。
问题在于我事先并不知道“名称”包含什么,因此使用“LIKE”条款。
有没有更好的方法来执行此类操作?或者我只是做错了?
提前感谢您的帮助。
答案 0 :(得分:0)
或者我只是做错了?
ContactsContract.Contacts.DISPLAY_NAME
是一个Java构造。使用:
Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.DISPLAY_NAME + " LIKE '" + name + "'", null, null );
或者,使用位置参数:
Cursor cur = cr.query( ContactContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.DISPLAY_NAME + " LIKE ?", args, null );
其中args
是包含name
。