2012-05-04 29 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”;