C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 112 を表示中)
■66266 / )  DB接続 二次元配列
□投稿者/ ごご (1回)-(2013/04/11(Thu) 21:53:48)

分類:[Java] 

DB接続でデータを取得したいとおもっています
今DBで3×10のデータがはいっており、取得、二次元配列に返してあげている状態です

この例だと3列(TESTNO、KANA、NAME)だと取得できるのですが

TESTNO,KANA の二列取得をしたときにエラーが発生してしまいます
どのように改善すればエラーが発生せず、取得できるようになりますか?

それともこのロジック自体がまずいのでしょうか?
アドバイスお願いします

ソース一部

public String[][] selectExec(String sql) throws SQLException{

Statement smt = con.createStatement();
//ステートメントオブジェクト作成 SQL文を送るために作成
ResultSet aa=smt.executeQuery(sql);
//SQLから要素取得

ArrayList<String> TESTNO = new ArrayList<String>();
//TESTNO用ののArrayList作成
ArrayList<String> NAME = new ArrayList<String>();
//KAME用
ArrayList<String> KANA = new ArrayList<String>();
//KANA用



while(aa.next()){ //Resultsetが最終行になるまで実行
TESTNO.add(aa.getString("TESTNO"));
NAME.add(aa.getString("NAME"));
KANA.add(aa.getString("KANA"));
}

aa.close(); //使い終わったリザルトクローズ
smt.close(); //ステートメントクローズ //オブジェクトの解放



return hairetu(TESTNO,NAME,KANA);

}


public String[][] hairetu(ArrayList T,ArrayList N ,ArrayList K){

String[][]all=new String[3][T.size()];


all[0] = (String[])T.toArray(new String[0]);//配列TSETNOに収納

all[1] = (String[])N.toArray(new String[0]);//配列NAMEに収納

all[2] = (String[])K.toArray(new String[0]);//配列KANAに収納


return all;

よろしくお願いします

返信 編集キー/


管理者用

- Child Tree -