今回は作成したテーブルから列(カラム)名を取得します。
テーブル内容を表示させる事にも関わってきます。
public String[] getColumnNames(String tableName) throws SqlJetException{
// 列名格納配列
String[] columnNames = null;
// 読み込みモード
db.beginTransaction(SqlJetTransactionMode.READ_ONLY);
// テーブルを開く
ISqlJetTable table = db.getTable(tableName);
// テーブルを明確化(?)
ISqlJetTableDef tabledef = table.getDefinition();
// 列名を取得
List<ISqlJetColumnDef> columnList = tabledef.getColumns();
// 列名格納配列を初期化
columnNames = new String[columnList.size()];
// 格納
for(int i = 0; i < columnNames.length; i++){
columnNames[i] = columnList.get(i).getName();
}
db.commit();
return columnNames;
}
自分でもあまりわかっていないことが多いので、ご存知の方はコメントしていただけるとありがたいです。
続きを読む
今回はデータベースファイルに入っているテーブル名を一覧表示させます。
コードは以下の通り
// ファイル名
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文で簡潔に表示させてみました。
載せるコードを短くしてみましたがどうでしょう?メソッドとしてそのままコピーできるような形にした方がいいですかね?
いや、そもそも需要自体あるかどうか厳しいところだな…。
テーブルを作成できたら次はデータを追加していきます。
テーブルにデータを追加するのは簡単です。
続きを読む
前回データベースファイルを作成しましたので、今回は情報を入れる元となるテーブルを作成します。
テーブルを作るためにはまず何を格納するのかを決めますが、今回は以下のようにします。
| 列名 |
備考 |
| id |
主キー,空なし |
| name |
空なし |
| age |
空あり |
名簿のようなテーブルとして空ありなのは問題ですが、今回はいろいろな書き方を示すということで深くは考えないように。
あと、テーブル名はmemberにしてnameのインデックスも作っておきます。
コードは以下のようになります
続きを読む
今回はDBファイルを作ります。まず入れ物を作らないことには始まらないからね!
コレは公式サイトTutorialにCreate New Databeseというタイトルで載っているので参考にします。
続きを読む
SQLJetを使おうとこちらへ訪れた方はすでにSQLiteについてご存知だと思うのでSQLiteの説明は省きます。
SQLiteについて知りたい方はGoogle検索-「SQLite」かDBOnline様の「SQLite入門」を御覧ください
SQLiteは軽量なSQLデータベースですが、SQLJetの場合SQL文は使えません。すべて用意された機能を使ってデータベースのファイル作成から出力まで行ないます。
それではSQLjetのダウンロードから始めます
続きを読む
現在卒業制作でJavaでSQLiteを使ったものを制作しています。
SQLiteを扱うのにSQLJetを使っています。
まぁ日本語の解説が少ないこと。ドキュメント見ながら試行錯誤しているので予定の何割が実装できるのかわかりませんが続けております。
仕事で使っている方はドキュメント観てサクサクと作っているのでしょうか。
そこで、自分の調べたことを日本語で公開してくことによって誰かの助けになればと思いデータベースファイルの作成からテーブル内容の表示などを解説していきたいと思います。
ひとつの機能をひとつの記事で書いていく予定なので、最終的には(最後まで続けば…)ページに項目ごとに分類して目次のようなものを作って分かりやすくしたいですね。
次からSQLJetのダウンロードやクラスパスの通し方を解説したいと思います。
私の制作環境はWindows XPでEclipse3.5です。