2011-09-02 199 views
0

我从数据库中获取表的列表。我使用这个代码来获取表的列表:这是怎么回事?

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

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

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

编辑: 由于堆栈溢出,我发现the answer here

+0

请帮我对此。我真的需要帮助。 –

回答

4

显示数据的列表的通常的方法是使用一个ListView。要做到这一点,你需要做到以下几点:

1:改变你的数据库查询db.query代替db.exec和存储值的列表:

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