今回はデータベースファイルに入っているテーブル名を一覧表示させます。
コードは以下の通り
[java]
// ファイル名
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();
}
[/java]
データベースからスキーマを取得して、スキーマからテーブル一覧を取得します。
その際Setで一覧が帰ってくるので拡張for文で簡潔に表示させてみました。
載せるコードを短くしてみましたがどうでしょう?メソッドとしてそのままコピーできるような形にした方がいいですかね?
いや、そもそも需要自体あるかどうか厳しいところだな…。
コメント