我需要计算当前在我的 sqlite 数据库中的表。尝试搜索但没有得到任何直接的方法。
我在我的 DbHelper 中尝试了这种方法。
public int countTables() {
int count = 0;
String SQL_GET_ALL_TABLES = "SELECT * FROM sqlite_master WHERE type='table'";
Cursor cursor = getReadableDatabase()
.rawQuery(SQL_GET_ALL_TABLES, null);
cursor.moveToFirst();
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
count++;
getReadableDatabase().close();
}
cursor.close();
return count;
}
但是这种方法给了我一个错误的计数。我的数据库中只有 3 个表,但此方法返回计数为 5。此方法可能有什么问题。有没有直接的方法来获得计数。