0

データベースからデータを取得し、配列をループして同様の金額を表示します。

        public void SetUpLikeAmount() {
    int likes = 0;
    ArrayList <Integer> likeArray = new ArrayList <Integer>();
    for (int count = 0; count < likeArray.size();count++){
    // Set Up Database Source
    db.setUp("IT Innovation Project");
    String sql = "Select likeDislike_likes from forumLikeDislike WHERE topic_id = "
            + topicId + "";
    ResultSet resultSet = null;
    // Call readRequest to get the result
    resultSet = db.readRequest(sql);
    try {
        while (resultSet.next()) {
            likeArray.add(Integer.parseInt(resultSet.getString("likeDislike_likes")));
            likes += likeArray.get(count);
        }
        resultSet.close();
    } catch (Exception e) {
        System.out.println(e);
    }

    }
    jLabel_like.setText(Integer.toString(likes));
}

ただし、0 を返し続けます。よろしくお願いします。

4

3 に答える 3

5

(余談ですが、何も返されません-メソッドを投稿しましたvoid。)

このコードを見てください:

ArrayList <Integer> likeArray = new ArrayList <Integer>();
for (int count = 0; count < likeArray.size();count++){
    ...
}

新しい を作成したばかりなArrayList<Integer>ので、サイズは 0 になります。したがって、ループは本体を実行することなく、常にすぐに完了します。

他の場所で作成されたリストから入力を取得しようとしている場合は、おそらくそれをメソッドに渡す必要があります。(またPreparedStatement、SQL に直接値を含める代わりに、パラメーターと共に a を使用する必要があります。)

于 2013-02-02T15:54:51.117 に答える
2

likeArray空のリストを繰り返し処理しています。だからループには入らない

于 2013-02-02T15:55:21.850 に答える
0

参照する必要がある新しいコードは次のとおりです。

public void SetUpLikeAmount() {
     int likes = 0;
    // Set Up Database Source
    db.setUp("IT Innovation Project");
    String sql = "Select likeDislike_likes from forumLikeDislike WHERE topic_id = "
            + topicId + "";
    ResultSet resultSet = null;
    // Call readRequest to get the result
    resultSet = db.readRequest(sql);
    try {
        while (resultSet.next()) {
            likes += Integer.parseInt(resultSet.getString("likeDislike_likes"));
        }
        resultSet.close();
    } catch (Exception e) {
        System.out.println(e);
    }

    jLabel_like.setText(Integer.toString(likes));
}

結果セットのみの反復中に値を取得して合計しているため、arraylistは必要ないかもしれません。

于 2013-02-02T16:18:35.913 に答える