SQLJetを使う!列名取得編

今回は作成したテーブルから列(カラム)名を取得します。

テーブル内容を表示させる事にも関わってきます。

	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;
	}

自分でもあまりわかっていないことが多いので、ご存知の方はコメントしていただけるとありがたいです。

列名を呼び出すまでにISqlJetTableからISqlJetTableDefと2段階踏んでいます。これはgetColumns()を呼び出すために遡っていったらこうなりました。

そして列名はList型で返されるので扱いやすいようにString型配列に格納しなおしています。あくまでここは個人的なところなのでそのままでもいいですね。

スポンサーリンク

シェアする

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

フォローする

スポンサーリンク