while文の表示
こんにちは 今DB接続し DBからデータを表示するのを勉強しています
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[][] selectExec(String sql, int fromIdx,int toIdx) throws SQLException{
String[][]all=selectExec(sql);
ArrayList list = new ArrayList(Arrays.asList(all[0]));
ArrayList list1 = new ArrayList(Arrays.asList(all[1]));
ArrayList list2 = new ArrayList(Arrays.asList(all[2]));
int i=1;
while(i<fromIdx){ //指定された前のリスト削除
list.remove(0);
list1.remove(0);
list2.remove(0);
i++;
}
while(toIdx<list .size()){ //指定されたあとのリスト削除
list .remove(toIdx);
list1.remove(toIdx);
list2.remove(toIdx);
toIdx++;
}
return hairetu(list ,list1,list2);
public String[][] hairetu(ArrayList T,List N ,List 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;
selectExec(String sql)で全表示
selectExec(String sql, int fromIdx,int toIdx)
で列を何行~何行を指定
でリストに変換、リスト削除して 二次元配列にもどしているのですが
たとえば
1~5を指定すると
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
6 6 6
8 8 8
↑のように
5ひとつとばしで表示されます
while文の書き方がわるいのでしょうか・・・・
アドバイスお願いします