SQLJetを使う!テーブル内容取得編

やってまいりました、テーブル内容を取得する方法です

<br />
	public String[][] getTable(String tableName) throws SqlJetException{</p>
<p>		// テーブル内容格納変数<br />
		String[][] table_ar = null;</p>
<p>		// 読み込みモード<br />
		db.beginTransaction(SqlJetTransactionMode.READ_ONLY);</p>
<p>		// テーブル取得<br />
		ISqlJetTable table = db.getTable(tableName);</p>
<p>		// テーブルオープン<br />
		ISqlJetCursor cursor = table.open();</p>
<p>		// 項目名取得<br />
		String[] columnNames = getColumnNames(tableName);</p>
<p>		// 配列の要素数確定<br />
		table_ar = new String[(int)cursor.getRowCount()][columnNames.length];</p>
<p>		// カーソルが最後でなければ取得<br />
		if(!cursor.eof()){</p>
<p>			// 列カウント、行カウント<br />
			int c_count, r_count = 0;</p>
<p>			do{<br />
				c_count = 0;</p>
<p>				// 列数分ループ<br />
				for(String str : columnNames){</p>
<p>					table_ar[r_count][c_count] = cursor.getString(str);<br />
					c_count++;</p>
<p>				}<br />
				r_count++;</p>
<p>				// カーソルを次へ(行数分ループ)<br />
			}while(cursor.next());<br />
		}</p>
<p>		db.commit();</p>
<p>		return table_ar;<br />
	}<br />

dbはSqlJetDb型の変数です。最終的に全部のメソッドを実装したコード載せるつもりです。

最初のSQLJetを使う!記事から見ていただけるとわかるはず…

テーブルを開いて、カーソルで一個ずつ配列に入れていくという作業になります。

公式のチュートリアルに沿って作ってみました。

このメソッドの戻り値をそのままJTableに入れるとちょうど縦横の組み合わせが合うようになっています。

今回は横幅が長くなってしまったので見づらいかと思いますが、ソース上にマウスポインタを移動させるとソース枠右上にアイコンが表示されるので、一番左の「view source」をクリックすると新しいタブ(あるいはウィンドウ)でソースコードだけ表示されます。ご活用ください。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク