0

mym アプリに問題があります。エラーを作成するいくつかのコード:

        String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
            + " like'%" + name + "%'";
    String[] projection = new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER };
    Cursor c = context.getContentResolver().query(
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
            selection, null, null);

ここに私のエラーがあります:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=4321, result=-1, data=Intent { (has extras) }} to activity ... android.database.sqlite.SQLiteException: near "m": syntax error: , while compiling: SELECT data1 FROM view_data_restricted data WHERE (1 AND mimetype = 'vnd.android.cursor.item/phone_v2') AND (display_name like'%I'm in a pool%') Caused by: android.database.sqlite.SQLiteException: near "m": syntax error: , while compiling: SELECT data1 FROM view_data_restricted data WHERE (1 AND mimetype = 'vnd.android.cursor.item/phone_v2') AND (display_name like'%I'm in a pool%') at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330) at android.content.ContentProviderProxy.query(ContentProviderNative.java:366) at android.content.ContentResolver.query(ContentResolver.java:245)

何が悪いのか知っていますか?

4

1 に答える 1

0

AND (display_name like'%I'm in a pool%')

の途中にエスケープされていない引用符がありI'mます。それがあなたのエラーが不平を言っている理由ですSQLiteException: near "m": syntax error

引用符を挿入する前に、引用符をエスケープする必要があります。

于 2012-10-09T21:01:18.160 に答える