这有什么问题?

时间:2011-09-02 04:35:22

标签: android sql sqlite

我从数据库中获取表的列表。我使用此代码来获取表的列表:

public void showAllTable()
{
  db.execSQL("select name from sqlite_master where type = 'table'");
}

此查询成功执行到shell窗口。

现在我想在Android中显示该表列表。怎么可能?我从另一个活动中调用此函数。

编辑: 感谢Stack Overflow,我找到了the answer here

1 个答案:

答案 0 :(得分:4)

显示数据列表的常用方法是使用ListView。为此,您需要执行以下操作:

1:将db查询更改为db.query而不是db.exec,并将值存储在List中:

ArrayList<String> tables = new ArrayList<String>();
Cursor mCursor = db.query("sqlite_master", new String[]{"name"}, "type = table",
        null,null,null,null);
if (mCursor.getCount() > 0) {
    for (mCursor.moveToFirst(), !mCursor.isAfterLast(), mCursor.moveToNext()) {
        tables.add(mCursor.getString(0));
    }
}
/** Important! always close cursors and DB's */
mCursor.close();
db.close();
return tables;

2:使用ListView和ArrayAdapter显示信息。有关如何执行此操作,请参阅The Android Tutorial