2012-03-10 15 views
3

データベースのテーブルのリストをCursorにクエリできますか?私はアンドロイドでショーテーブルメソッドを実装する方法を知らない。 「コレクタ」テーブルにすべてのテーブルをレコードとして保存する方法もありますが、これは回避策です。Android sqliteの表示テーブル

P.S:「PR_」で始まるものすべてをテーブルに入れる必要はありません(この場合、クエリでこれを処理する方法はわかりますが、これは問題です)。

答えて

7

解決策が見つかりました。活動で

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

 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) + ""); 

       } 

      } 
SQLiteOpenHelperクラスで
2

SQLiteでは、SQLITE_MASTERをクエリできます。しかし、Androidではこれをテストしていません。 http://sqlite.org/faq.html#q7

関連する問題