2011-09-02 66 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