2012-05-04 30 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上的SQL查詢之前崩潰了= SQLiteDatabase.openDatabase(CONTACTS,null,SQLiteDatabase.OPEN_READONLY); – Vitaly

+0

是的,我知道,所以我認爲你有兩個問題:一個是你無法連接,另一個是即使你連接,你的查詢是錯誤的,所以它仍然無法正常工作。 –

回答

1

String CONTACTS =「/data/data/com.android.providers.contacts/databases/contacts.db」;應該是String CONTACTS =「/data/data/com.android.providers.contacts/databases/contacts2.db」;