0

かなり初歩的な質問がありますが、かなり簡単に答えていただければ幸いです。

現在、DBにクエリを実行し、結果セット(アカウントIDのリスト)を返し、それらのアカウントIDを配列に設定して、オブジェクトに値を入力できるようにするものを作成しようとしています。

私のオブジェクトは、私が作成した別のメソッドへの入力として使用される予定ですが、結果セットで返された配列の値を使用して、account_id フィールドを設定する方法がわかりません。String 型の配列に適切な用語がないため、「セッター」メソッドはないようです。

結果セットから配列に acct_id を入力して出力することができたので、情報が戻ってくることがわかりました。

以下は私が現在持っているスニペットです。私ができる助け/改善は大歓迎です!


try {

    connection = DriverManager.getConnection(url, user, password);
    st = connection.createStatement();
    rs = st.executeQuery(sql);

     List<Long> array = new ArrayList<Long>();


    while (rs.next()) {

        array.add((long) rs.getLong("acct_id"));  

        for (Integer i = 0; i < array.size(); i++) {
            System.out.println(array.get(i));

            GetSummaryRequest request = new GetSummaryRequest();

            request.accountKey =  new AccountDTO(array[i]); 

        }
    }


    } catch (SQLException e) {

        System.out.println("Connection failed.");
        e.printStackTrace();
        return;

    }
 if (rs.next()) {

     System.out.println(rs.getString(1));

 } else 

     System.out.print("Failed. Try again");

}  
4

4 に答える 4

1

私の理解が正しければ、すべてのアカウント ID を配列内に格納するために使用される以下のコードが必要になる場合があります。これを使用して、パラメーターとして別のメソッドに渡すことができます。

 ArrayList<GetSummaryRequest> array1=new ArrayList<GetSummaryRequest>(); 
 GetSummaryRequest request = new GetSummaryRequest();  

  while (rs.next()) 
  {
        request=new GetSummaryRequest();
        request.accountKey=rs.getString("acct_id");
        array1.add(request);            

    }

これで、各オブジェクトの accountKey を持つ GetSummaryRequest の ArrayList ができました。

于 2013-09-30T17:08:06.770 に答える