Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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的Sqlite语法错误_Android_Sql_Sqlite - Fatal编程技术网

Android的Sqlite语法错误

Android的Sqlite语法错误,android,sql,sqlite,Android,Sql,Sqlite,有人能告诉我这里的语法错误在哪里吗 不知什么原因,我找不到它。我不确定我的方法是否正确(我仍在测试) 这是我的密码: final Cursor cursor; final String[] PROJECTION_SEARCH_FOR_CONTACT = new String[] { Contacts._ID, Contacts.DISPLAY_NAME, Contacts.PHOTO_ID, "name_raw_c

有人能告诉我这里的语法错误在哪里吗

不知什么原因,我找不到它。我不确定我的方法是否正确(我仍在测试)

这是我的密码:

    final Cursor cursor;

    final String[] PROJECTION_SEARCH_FOR_CONTACT = new String[] {
        Contacts._ID,
        Contacts.DISPLAY_NAME,
        Contacts.PHOTO_ID,
        "name_raw_contact_id",
        Contacts.Data.DATA1 // Telephone number
    };

    // Search by Display Name
    if(where == 0)
    {
        cursor = contentResolver.query( Data.CONTENT_URI, 
                                        PROJECTION_SEARCH_FOR_CONTACT, 
                                        Contacts.DISPLAY_NAME + " LIKE '" + searchFor + "%' AND " + Data.MIMETYPE + " = " + Contacts.CONTENT_ITEM_TYPE, 
                                        null, 
                                        null);
    }

    // Search by Phone Number
    else if(where == 1)
    {
        cursor = contentResolver.query( Data.CONTENT_URI, 
                                        PROJECTION_SEARCH_FOR_CONTACT, 
                                        Contacts.Data.DATA1+ " LIKE '" + searchFor + "%' AND " + Contacts.Data.MIMETYPE + " = " + Phone.CONTENT_ITEM_TYPE, 
                                        null, 
                                        null);
    }

    // Search by Email
    else 
    {
        cursor = contentResolver.query( Data.CONTENT_URI, 
                                        PROJECTION_SEARCH_FOR_CONTACT, 
                                        Contacts.Data.DATA1+ " LIKE '" + searchFor + "%' AND " + Contacts.Data.MIMETYPE + " = " + Email.CONTENT_ITEM_TYPE, 
                                        null, 
                                        null);
    }
以下是异常错误

对于
其中==0

03-05 00:31:06.473: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:31:06.477: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:31:06.477: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((display_name LIKE 'c%' AND mimetype = vnd.android.cursor.item/contact))
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:32:21.922: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:32:21.938: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:32:21.938: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/phone_v2))
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:33:13.844: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:33:13.852: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:33:13.852: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/email_v2))
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
对于
其中==1

03-05 00:31:06.473: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:31:06.477: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:31:06.477: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((display_name LIKE 'c%' AND mimetype = vnd.android.cursor.item/contact))
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:32:21.922: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:32:21.938: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:32:21.938: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/phone_v2))
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:33:13.844: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:33:13.852: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:33:13.852: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/email_v2))
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
对于
其中==2

03-05 00:31:06.473: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:31:06.477: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:31:06.477: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((display_name LIKE 'c%' AND mimetype = vnd.android.cursor.item/contact))
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:31:06.477: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:32:21.922: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:32:21.938: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:32:21.938: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/phone_v2))
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:32:21.938: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
03-05 00:33:13.844: E/SQLiteLog(2012): (1) near ".": syntax error
03-05 00:33:13.852: E/DatabaseUtils(2012): Writing exception to parcel
03-05 00:33:13.852: E/DatabaseUtils(2012): android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT _id, display_name, photo_id, name_raw_contact_id, data1 FROM view_data data LEFT OUTER JOIN (SELECT data_usage_stat.data_id, SUM(data_usage_stat.times_used) as times_used, MAX(data_usage_stat.last_time_used) as last_time_used FROM data_usage_stat GROUP BY data_id) as data_usage_stat ON (data_usage_stat.data_id=data._id) WHERE (1) AND ((data1 LIKE 'c%' AND mimetype = vnd.android.cursor.item/email_v2))
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.validateQuerySql(SQLiteQueryBuilder.java:412)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:389)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:6438)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.queryLocal(ContactsProvider2.java:6386)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at com.android.providers.contacts.ContactsProvider2.query(ContactsProvider2.java:4999)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at android.os.Binder.execTransact(Binder.java:404)
03-05 00:33:13.852: E/DatabaseUtils(2012):  at dalvik.system.NativeStart.run(Native Method)
您需要将字符串文字置于
''
单引号中。比如说,

... Data.MIMETYPE + " = '" + Contacts.CONTENT_ITEM_TYPE + "'"
其他情况也是如此

您需要将字符串文字置于
''
单引号中。比如说,

... Data.MIMETYPE + " = '" + Contacts.CONTENT_ITEM_TYPE + "'"

对于其他情况也是如此。

谢谢,如果您(在本例中是我)希望快速编写代码以进行测试,就会发生这种情况。所以解决方法是使用光标上的选择字段。如下所示:
cursor=contentResolver.query(Data.CONTENT\u URI,PROJECTION\u SEARCH\u FOR\u CONTACT,Contacts.DISPLAY\u NAME+“Like'”和“+Data.MIMETYPE+”=?”,新字符串[]{Contacts.CONTENT\u ITEM\u TYPE},null)是的,这也可以。对文本使用
占位符是一个好习惯,即使在这种情况下没有直接的好处(也没有坏处)。谢谢,当您(在本例中是我)希望快速编写代码以进行测试时,就会出现这种情况。所以解决方法是使用光标上的选择字段。如下所示:
cursor=contentResolver.query(Data.CONTENT\u URI,PROJECTION\u SEARCH\u FOR\u CONTACT,Contacts.DISPLAY\u NAME+“Like'”和“+Data.MIMETYPE+”=?”,新字符串[]{Contacts.CONTENT\u ITEM\u TYPE},null)是的,这也可以。对文本使用
占位符是一个好习惯,即使在这种情况下没有直接的好处(也没有坏处)。