やってまいりました、テーブル内容を取得する方法です
[java]
public String[][] getTable(String tableName) throws SqlJetException{
// テーブル内容格納変数
String[][] table_ar = null;
// 読み込みモード
db.beginTransaction(SqlJetTransactionMode.READ_ONLY);
// テーブル取得
ISqlJetTable table = db.getTable(tableName);
// テーブルオープン
ISqlJetCursor cursor = table.open();
// 項目名取得
String[] columnNames = getColumnNames(tableName);
// 配列の要素数確定
table_ar = new String[(int)cursor.getRowCount()][columnNames.length];
// カーソルが最後でなければ取得
if(!cursor.eof()){
// 列カウント、行カウント
int c_count, r_count = 0;
do{
c_count = 0;
// 列数分ループ
for(String str : columnNames){
table_ar[r_count][c_count] = cursor.getString(str);
c_count++;
}
r_count++;
// カーソルを次へ(行数分ループ)
}while(cursor.next());
}
db.commit();
return table_ar;
}
[/java]
dbはSqlJetDb型の変数です。最終的に全部のメソッドを実装したコード載せるつもりです。
最初のSQLJetを使う!記事から見ていただけるとわかるはず…
テーブルを開いて、カーソルで一個ずつ配列に入れていくという作業になります。
公式のチュートリアルに沿って作ってみました。
このメソッドの戻り値をそのままJTableに入れるとちょうど縦横の組み合わせが合うようになっています。
今回は横幅が長くなってしまったので見づらいかと思いますが、ソース上にマウスポインタを移動させるとソース枠右上にアイコンが表示されるので、一番左の「view source」をクリックすると新しいタブ(あるいはウィンドウ)でソースコードだけ表示されます。ご活用ください。
コメント