Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中使用where条件进行查询_Android_Cursor_Android Cursor - Fatal编程技术网

在Android中使用where条件进行查询

在Android中使用where条件进行查询,android,cursor,android-cursor,Android,Cursor,Android Cursor,我想设置一个查询来获取包含特定字符串的名称(这里是约束)。 所以我编码: Cursor contactCursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{Phone.DISPLAY_NAME}, Phone.DISPLAY_NAME + "like + ?", new String[]{"%"+constraint+"%"}, Phone.DISPLAY_NAME + " ASC")

我想设置一个查询来获取包含特定字符串的名称(这里是约束)。 所以我编码:

Cursor contactCursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{Phone.DISPLAY_NAME}, Phone.DISPLAY_NAME + "like + ?", new String[]{"%"+constraint+"%"}, Phone.DISPLAY_NAME + " ASC");
但是我犯了一个错误。 我知道我很接近。
我哪里错了?

你有一个简单的打字错误。更改此项:

"like + ?"
为此:

" like ?"

(在前面加一个空格,去掉
+
)。

嗯,这有点模糊。尝试更新后的答案,但如果您想获得更多帮助,请在问题中发布logcat。此处出现异常:android.database.sqlite.SQLiteException:near“?”:语法错误:,编译时:从视图中选择display\u name\u restricted data,其中(1和mimetype='vnd.android.cursor.item/phone\u v2')和(display\u namelike?)按显示名称排序它是空格通知
display\u namelike?
是错误的,但是
display\u name like?
将编译。