2013-02-08 62 views
2

如果SQLiteDatabase.isDatabaseIntegrityOK()返回false,我如何獲得對數據庫應該返回的1-100行日誌的訪問?Android:SQLite:如果isDatabaseIntegrityOK()返回false

我想在我的Android應用程序中顯示完整性檢查的結果。

謝謝!

+0

你是什麼意思「的1-100線日誌數據庫應該返回「? – njzk2

+0

SQLite的[PRAGMA integrity_check](http://www.sqlite.org/pragma.html#pragma_integrity_check)命令會返回描述問題的字符串。 –

回答

1

只是執行自己的命令,並假裝這是一個SELECT

Cursor cursor = db.rawQuery("PRAGMA integrity_check", null); 
while (cursor.moveToNext()) { 
    String s = cursor.getString(0); 
    ... 
} 
2

使用替代Android的DatabaseUtils:

StringBuilder sb = new StringBuilder(); 
DatabaseUtils.dumpCursor(db.rawQuery("PRAGMA integrity_check", null), sb);