メソッド オーバーロード ete
こんにちは
今オーバーロードやメソッドについて学習中です
今回作成したのはDB接続の 処理をするほうのクラスなのですが
同じソースはひとつにまとめろといわれました
自分なりに メソッドを作ってまとめてみたのですが
まだだめなようです
あとどのようにまとめれば 良いとおもいますか?
例文なども出していただけると助かります
一部ソースのせます
public String[][] selectExec(String sql, int fromIdx) 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>();
//NAME用
ArrayList<String> KANA = new ArrayList<String>();
//KANA用
aa.relative(fromIdx-1);
//カーソルの位置を移動
while(aa.next()){
TESTNO.add(aa.getString("TESTNO"));
NAME.add(aa.getString("NAME"));
KANA.add(aa.getString("KANA"));
}
aa.close(); //使い終わったリザルトクローズ
smt.close(); //ステートメントクローズ //オブジェクトの解放
hairetu(TESTNO,NAME,KANA); //配列に収納するメソッド呼び出し
return hairetu(TESTNO,NAME,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[][] selectExec(String sql, int fromIdx,int toIdx) 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>();
//NAME用
ArrayList<String> KANA = new ArrayList<String>();
//KANA用
aa.relative(fromIdx);
while(fromIdx<=toIdx){
TESTNO.add(aa.getString("TESTNO"));
NAME.add(aa.getString("NAME"));
KANA.add(aa.getString("KANA"));
aa.next();
fromIdx++;
}
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;
}/*
リストから配列に収納するメソッド。
配列でリターンします
*/
下のhairetuメソッドはあとから作成しました。
もうひとつ作ったのですが
TEST(TESTNO,aa,"TESTNO");
TEST(NAME,aa,"NAME");
TEST(KANA,aa,"KANA");
呼び出し↑
メソッド
public ArrayList TEST(ArrayList T,ResultSet a ,String s) throws SQLException{
T.add(a.getString(s)); // リストにSQL文を収納
return T;
}
これは却下されました
見づらいとは思いますが いろいろアドバイスください
お礼
ご解答有難うございました。 質問の書き方が不適切でわかりづらいにも関わらず 自分の求めていた回答をいただけました。お陰さまで 先に進まなかったところが解決することが出来ました。 >>Vector型そのものを配列と呼んでいるのであれば、 >>誤解を招くことになるのでやめたほうがいいです。 Javaについてはまだまだ初心者なもので… 今後言葉の使い方についてもしっかりと理解して 質問の時などは注意したいと思います。 本当に有難うございました。