开发者

What is going wrong in this?

I am fetching the list of tables from the database. I am using this code to get the list of tables:

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

This query execute successful in to the shell window.

Now I want to display that list of tables in Android. How it is possible? I am calling this function from another activity.

Edited: Thanks to Stack Overflow开发者_C百科, I found the answer here.


The usual way to display a list of data is to use a ListView. To do this you will need to do the following:

1: change your db query to db.query instead of db.exec and store the values in a 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: Use a ListView and an ArrayAdapter to display the information. See The Android Tutorial on how to do this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜