- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DB接続 二次元配列 指定表示)
DB接続でデータを取得する際にエラーが発生する問題の改善方法
このQ&Aのポイント
- DB接続でデータを取得したいとおもっています。現在、DBには3×10のデータがあり、二次元配列に取得しています。
- しかし、TESTNOとKANAの二列を取得しようとするとエラーが発生してしまいます。どのように改善すればエラーが発生せずに取得できるでしょうか?
- また、このロジック自体がまずいのでしょうか?アドバイスをお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
whileステートメントの部分まずくないですか? selectExecの引数次第でエラーでる気がします。 それと戻り値に3列取得を想定しているhairetu関数を使っているのもチョットという感じです 二列取得(TESTNOとKANA)のSQLをselectExecの引数に与えた場合、 結果のカラムにNAMEがないので取得失敗してSQLException発生ではないでしょうか 解決するには取得する物(SQL)ごとに関数を分けるか getStringはcolumnIndexでも取得できるのでselectExecの引数に何列取得するかを追加して取得 あとは関数を汎用的に使えるように変更するとかになっちゃいますね 引数を増やすやつはこんな感じです。代入などは考えてみて下さい。 public String[][] selectExec(String sql, int numColumn) throws SQLException{ .... while(aa.next()){ //Resultsetが最終行になるまで実行 int columnIndex = 0; while ( columnIndex <= numColumn ) { aa.getString(columnIndex); columnIndex++; } } ....
お礼
やっぱり引数を増やすしかないんですね>< columnIndex も所見ですので 調べて勉強してみます!! アドバイスありがとうございます