2013-02-08 63 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);