如何从数据库中检索所有表?

How do I retrieve all the tables from database? (Android, SQLite)

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How do I list the tables in a SQLite database file

我正在尝试制作一个简单的界面,用Android设备创建一个简单的数据库。例如,将我的家庭电影收藏插入数据库的程序。也许我一开始就错了,但这是我的尝试:

在这里,我从字段中检索数据,并将它们插入到一个新表中。

1
2
3
4
5
6
7
8
9
10
11
        EditText title = (EditText)findViewById(R.id.Title);
        String Title = title.getText().toString();

        EditText d = (EditText)findViewById(R.id.director);
        String Director = d.getText().toString();

                SQLiteDatabase db = openOrCreateDatabase("Films", MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS" + Title +" (Title VARCHAR, Director VARCHAR);");
        db.execSQL("INSERT INTO" + Title +"(Title) VALUES('" + Title +"');");
        db.execSQL("INSERT INTO" + Title +" (Director) VALUES('" + Director +"');");
        db.close();

因此,对于每个新标题,我都创建一个新表。但是我需要所有这些表在一个新的活动中以列表或类似的方式打印它们。但我不知道如何从数据库中获取所有表。

我找到了命令:

1
2
SQLiteDatabase db = openOrCreateDatabase("Films", MODE_PRIVATE, null);
Cursor c = db.rawQuery("SELECT * FROM tablename", null);

但如果我知道它的名称,它只对一个表有效,我需要从中获取所有表和数据。

你能帮我一下吗?


运行一个query using this:

1
Cursor c = db.rawQuery("SELECT * FROM films.sqlite_master WHERE type='table'",null);

编辑

我忘了这是安德罗德和拉奎尔的桌子。This should work:

ZZU1