2011-01-13 41 views
5

Có ai biết SQL để nhận danh sách tên bảng thông qua mã trong Android không? Tôi biết .tables hiện nó thông qua lệnh shell nhưng điều này không làm việc thông qua mã. Có liên quan gì đến siêu dữ liệu, v.v ... không?Android nhận danh sách các bảng

Trả lời

3

Got it:

SELECT * FROM sqlite_master WHERE type='table' 
10

Chỉ cần phải làm như vậy. Điều này dường như hoạt động:

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

Nếu tôi in danh sách các bảng này để đăng nhập thì làm cách nào để có thể thực hiện được? –

+0

Ok Cảm ơn rất nhiều. Nó làm việc cho tôi. –

+0

Nếu tôi muốn tìm nạp tên bảng từng người một thì ??? –

Các vấn đề liên quan