2011-01-13 53 views
5

有誰知道SQL通過Android中的代碼獲取表名列表?我知道.tables通過命令行來完成,但是這不能通過代碼工作。這與元數據等有關嗎?Android獲取表格列表

回答

3

明白了:

SELECT * FROM sqlite_master WHERE type='table' 
10

就不得不這樣做。這似乎工作:

public ArrayList<Object> listTables() 
    { 
     ArrayList<Object> tableList = new ArrayList<Object>(); 
     String SQL_GET_ALL_TABLES = "SELECT name FROM " + 
     "sqlite_master WHERE type='table' ORDER BY name"; 
     Cursor cursor = db.rawQuery(SQL_GET_ALL_TABLES, null); 
     cursor.moveToFirst(); 
     if (!cursor.isAfterLast()) { 
      do { 
       tableList.add(cursor.getString(0)); 
      } 
      while (cursor.moveToNext()); 
     } 
     cursor.close(); 
     return tableList; 
    } 
+0

如果我打印這個列表中的日誌,那麼怎麼可能? – 2011-09-02 04:49:19