2016-08-06 8 views
0

Android SQLiteデータベースにテーブルを挿入し、そのテーブル名をlistViewに表示しますが、データベースにテーブルを作成した後、データベースからテーブル名を取得できません。次のようにテーブル名を取得するAndroid SQLiteデータベースからテーブル名を取得する際に問題が発生しました

私のコードは次のとおりです。

public void updateBranchList() 
{ 
    //this method will open database 
    openDatabase(); 
    String sql = "SELECT name FROM sqlite_temp_master WHERE type='table' ORDER BY name"; 
    Cursor c = db.rawQuery(sql,null); 
    //branchList is an ArrayList<String> 
    branchList.clear(); 

    if(c.moveToFirst()) 
     while(!c.isAfterLast()) 
     { 
      String s = c.getString(c.getColumnIndex("name")); 
      branchList.add(s); 
      c.moveToNext(); 
     } 
    db.close(); 
} 

public void openDatabase() 
{ 
    db = openOrCreateDatabase("studentinfo", Context.MODE_PRIVATE,null); 
} 

答えて

0

sqlite_temp_masterの表は、一時データベース内のテーブルに関する情報が含まれています。メインデータベースのテーブルについては、代わりにsqlite_masterを使用する必要があります。

+0

私もsqlite_masterを試してみましたが、これも動作していません –

+0

sqlite_masterが動作しています。Sqlクエリに何らかのエラーがありました。ありがとう –

関連する問題