2011-01-13 18 views
5

Czy ktoś zna kod SQL, aby uzyskać listę nazw tabel za pomocą kodu w systemie Android? Wiem, że .tables robi to poprzez powłokę poleceń, ale to nie działa przez kod. Czy to ma coś wspólnego z metadanymi itp.?Android otrzymuje listę tabel

Odpowiedz

3

Got go:

SELECT * FROM sqlite_master WHERE type='table' 
10

prostu musiał zrobić to samo. To wydaje się działać:

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

Jeśli wydrukuję tę listę tabel, aby się zalogować, to jak to możliwe? –

+0

Ok Wielkie dzięki. Mi to pasuje. –

+0

Jeśli chcę pobrać nazwę tabeli jeden po drugim osobno, to ??? –

Powiązane problemy