2012-05-04 2 views
1

アンドロイド:私は連絡先データベースにクエリを送信しようとしていますテーブルSQLクエリエラー

String CONTACTS = "/data/data/com.android.providers.contacts/databases/contacts.db"; 
SQLiteDatabase sqlDB; 
try{ 
    sqlDB = SQLiteDatabase.openDatabase(CONTACTS,null, SQLiteDatabase.OPEN_READONLY); 
}catch(SQLiteException sqlE){ 
    Log.e(TAG, sqlE.getMessage()); 
} 
callCursor = sqlDB.rawQuery("SELECT _id, date, duration, number, type, name, numbertype, COUNT(*) as cnt FROM calls WHERE (1=1) GROUP BY (number) ORDER BY cnt DESC", null); 

をしかし、私はエラー

05-04 15:21:28.271: E/SQLiteDatabase(883): android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file 

理由は何を得ますか?

+0

SQLも間違っています。 –

+0

sqlDB = SQLiteDatabase.openDatabase(CONTACTS、null、SQLiteDatabase.OPEN_READONLY)でSQLクエリを実行する前にクラッシュしています。 – Vitaly

+0

はい私は知っているので、2つの問題があると思います.1つは接続できないということです。もう1つは、接続してもクエリが間違っていても動作しないということです。 –

答えて

1

文字列CONTACTS = "/data/data/com.android.providers.contacts/databases/contacts.db"; Stringにする必要があります。CONTACTS = "/data/data/com.android.providers.contacts/databases/contacts2.db";

関連する問題