How to get all table names in android sqlite database?

后端 未结 5 1604
逝去的感伤
逝去的感伤 2020-12-05 06:37

I have tried this code

Cursor c=db.rawQuery("SELECT name FROM sqlite_master WHERE type = \'table\'",null);
c.moveToFirst();
while(!c.isAfterLast()){         


        
5条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-05 06:57

    To get table name with list of all column of that table

        public void getDatabaseStructure(SQLiteDatabase db) {
    
                Cursor c = db.rawQuery(
                        "SELECT name FROM sqlite_master WHERE type='table'", null);
                ArrayList result = new ArrayList();
                int i = 0;
                result.add(c.getColumnNames());
                for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                    String[] temp = new String[c.getColumnCount()];
                    for (i = 0; i < temp.length; i++) {
                        temp[i] = c.getString(i);
                        System.out.println("TABLE - "+temp[i]);
    
    
                        Cursor c1 = db.rawQuery(
                                "SELECT * FROM "+temp[i], null);
                        c1.moveToFirst();
                        String[] COLUMNS = c1.getColumnNames();
                        for(int j=0;j

提交回复
热议问题