我在这里找到了在 SQLite 中获取所有表的解决方案。 如何列出使用 ATTACH 打开的 SQLite 数据库文件中的表? 但是,当我改变时:
SELECT name FROM sqlite_master WHERE type='table';
进入:
SELECT name FROM sqlite_master WHERE type='table' ORDER BY name DESC;
输出完全奇怪。第一个查询给我:tbl201306 --> 到目前为止只有一个表,2013 年 6 月。第二个查询给我:android_metadata --> 名称没有改变,但它返回这个名称。
我想让这些表按降序排列,因为将来最新的表会在最上面。
我的完整代码:
public ArrayList<String> getDBTables() {
ArrayList<String> toReturn = new ArrayList<String>();
try {
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name DESC", null);
c.moveToFirst();
while (c.moveToNext()) {
toReturn.add(c.getString(c.getColumnIndex("name")));
}
c.close();
}
catch(SQLiteException e) {
e.printStackTrace();
}
return toReturn;
}