今回はデータベースファイルに入っているテーブル名を一覧表示させます。
コードは以下の通り
// ファイル名 String DB_name = "C:\\sample.sqlite"; // ファイル生成 File dbFile = new File(DB_name); try{ // DBオブジェクト生成 SqlJetDb db = SqlJetDb.open(dbFile, true); // 書き込みモード db.beginTransaction(SqlJetTransactionMode.READ_ONLY); try{ // スキーマ取得 ISqlJetSchema schema = db.getSchema(); // テーブル一覧取得 Set<String> table_list = schema.getTableNames(); // 一覧表示 for(String tableName : table_list){ System.out.println(tableName); } }finally{ db.commit(); } }catch(SqlJetException e){ e.printStackTrace(); }
データベースからスキーマを取得して、スキーマからテーブル一覧を取得します。
その際Setで一覧が帰ってくるので拡張for文で簡潔に表示させてみました。
載せるコードを短くしてみましたがどうでしょう?メソッドとしてそのままコピーできるような形にした方がいいですかね?
いや、そもそも需要自体あるかどうか厳しいところだな…。