私はこの問題をインターネットで検索しましたが、何の反応も得られませんでした。 私はそれが選択からだと信じていますが、何が間違っているのか分かりません。sqlite.SQLiteException:そのような列がありません:data1(Sqlite code 1):
私はこのエラーを取得:携帯電話の連絡先を取得するために、このコードを実行した後
android.database.sqlite.SQLiteException: no such column: data1 (Sqlite code 1): , while compiling: SELECT sort_key, photo_uri ...
:
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String no07 = "%07";
String no407 = "%+407";
String selection = "((" + ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY + " NOTNULL) AND ("
+ ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1) AND ("
+ ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY + " != '') AND (("
+ ContactsContract.CommonDataKinds.Phone.NUMBER + " LIKE '" + no07 + "') OR ("
+ ContactsContract.CommonDataKinds.Phone.NUMBER + " LIKE '" + no407 + "')))";
Cursor phones = getActivity()
.getContentResolver()
.query(uri, null, selection, null, null);
私は任意の助けをいただければ幸いです。
select文全体をデバッグ/ロギングしてみてください。私の推測では、照会されているテーブルには存在しない列選択を行っているということです。 – ADimaano
私はLIKE行を追加した後にのみこの問題を抱えています –
本当にLIKE行が必要な場合はOKです。しかし、select文全体をログに記録すると本当に役に立ちます。その後、DBサーバー上でそのselectステートメントを手動で実行すると、エラーがどこにあるかがわかります。あなたの質問を編集し、selectステートメントログを投稿してください。 – ADimaano