2012-03-10 3 views
3

Est-il possible d'interroger la liste des tables d'une base de données dans un Curseur? Je ne sais pas comment implémenter la méthode show tables dans android. L'une des solutions consiste à stocker toutes les tables d'une table "collector" en tant qu'enregistrements, mais il s'agit d'une solution de contournement. P.S: Je n'ai pas besoin de toutes les tables qui commencent par "PR_" (je sais comment gérer cela dans les requêtes, ce que je ne sais pas si cela compte dans ce cas).Tables de présentation sqlite Android

Répondre

7

J'ai trouvé la solution. Dans la classe SQLiteOpenHelper:

public Cursor showAllTables(){ 
     String mySql = " SELECT name FROM sqlite_master " + " WHERE type='table'    " 
       + " AND name LIKE 'PR_%' "; 
     return ourDatabase.rawQuery(mySql, null); 
    } 

Dans l'activité:

 Cursor c = info.showAllTables(); 
      if (c.moveToFirst()) 
      { 
      do{ 
       todoItems.add(c.getString(0)); 

       }while (c.moveToNext()); 
      } 
      if (todoItems.size() >= 0) 
      { 
       for (int i=0; i<todoItems.size(); i++) 
       { 
        Log.d("TODOItems(" + i + ")", todoItems.get(i) + ""); 

       } 

      } 
Questions connexes