遍历数据库ResultSet

Kanishka Ganguly

我在这里有一段Java代码,应该从数据库查询中检索结果,而ResultSet应该对这些值进行迭代,以便为ResultSet的每个条目检索某些API数据。但是,问题是我只能为ResultSet的第一个条目检索API数据。

此代码完全按预期工作,并返回我的所有数据库条目。

try {
    ResultSet rs;
    rs = stat.executeQuery("select * from schedule");
    while (rs.next()) {
        model.addRow(new Object[]{rs.getString("SHOW"), rs.getString("SEASON")});
    }
} catch (Exception e) {
    console.append(e.getMessage() + '\n');
}

但是,此代码仅返回第一个条目。

try {
    ResultSet rs = stat.executeQuery("select * from schedule");
    while (rs.next()) {
        String show = rs.getString("SHOW");
        String season = rs.getString("SEASON");
        String api_url = "<API_URL>/" + show + "/" + season;

     URL url = new URL(api_url);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("GET");
        con.setRequestProperty("User-Agent", USER_AGENT);
        int responseCode = con.getResponseCode();
        if (responseCode == 200) {
            conn_stat.setText("Connection Status : OK");
        } else {
            conn_stat.setText("Connection Status : ERR");
        }
        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuilder response = new StringBuilder();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        String s = response.toString();
        JsonArray json = JsonArray.readFrom(s);
        for (int i = 0; i < json.size(); i++) {
            JsonObject show_json = json.get(i).asObject();
            int episode = show_json.get("episode").asInt();
            String date = show_json.get("first_aired_iso").asString();
            String title = show_json.get("title").asString();
            String date_formatted = date.substring(0, date.indexOf("T"));
            SimpleDateFormat original = new SimpleDateFormat("yyyy-MM-dd");
            SimpleDateFormat target = new SimpleDateFormat("dd-MMM-yyyy");
            Date unformatteddate = original.parse(date_formatted);
            String dateStart = target.format(unformatteddate);
            Date curr_date = new Date();
            String dateStop = target.format(curr_date);
            Date d1 = null;
            Date d2 = null;
            d1 = target.parse(dateStart);
            d2 = target.parse(dateStop);
            long diff = d2.getTime() - d1.getTime();
            long diffDays = diff / (24 * 60 * 60 * 1000);
            if (diffDays < 0) {
               alert_model.addRow(new Object[]{show + " - " + episode, title, dateStart});
            }
        }
    }
} catch (Exception e) {
    console.append(e.getMessage() + '\n');
}
安德烈亚斯·韦德布兰德

尝试分散逻辑。这是您从数据库中创建所有节目/季节的列表的方式。

    try {
        ResultSet rs = stat.executeQuery("select * from schedule");
        List<String[]> list = new ArrayList<>();
        while (rs.next()) {
            String show = rs.getString("SHOW");
            String season = rs.getString("SEASON");
            list.add(new String[]{show, season});
        }
    } 
    catch (Exception e) {
        e.printStackTrace();
    }

然后,在结果集(可能还有连接)关闭之后,您应该构造ULR并使用此列表查询外部服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何遍历数据库的表?

来自分类Dev

遍历数据库Django

来自分类Dev

遍历数据库结果

来自分类Dev

MySQL基于时间戳循环遍历数据库?

来自分类Dev

PHP遍历数组以从数据库中选择

来自分类Dev

遍历数据库以填充列表视图

来自分类Dev

Django:遍历数据库视图的QuerySet

来自分类Dev

PHP遍历数据库中的JSON对象

来自分类Dev

遍历数据库取决于属性

来自分类Dev

如何遍历数据库中的表,然后根据条件遍历这些表行?

来自分类Dev

如何遍历数据库中的数据以使其成为模板中的单选按钮?

来自分类Dev

遍历数据库获取值并将其放在datagridview中的特定位置

来自分类Dev

遍历数据库对象并将其渲染到模板

来自分类Dev

如果遍历数据库行,in_array()会继续附加值

来自分类Dev

如何遍历数据库中的字段并查找空字段

来自分类Dev

如何遍历数据库中已有的对象并更新字段?

来自分类Dev

遍历数据库获取值并将其放在datagridview中的特定位置

来自分类Dev

如果遍历数据库行,in_array()会继续附加值

来自分类Dev

遍历数组并添加到数据库-Laravel / Eloquent / PHP

来自分类Dev

遍历数据库时SQL查询中的语法错误

来自分类Dev

循环遍历数组并将每个值添加到 Realm 数据库 Swift 3

来自分类Dev

Firebase For Android Studio - 如何遍历数据库中的每个项目?

来自分类Dev

Rails 遍历数据库表并按名称拒绝一个对象

来自分类Dev

遍历数据库对象并将数据附加到Javascript中具有特定键值的对象

来自分类Dev

Laravel 5.2多个项目在Redis上使用队列,如果作业失败,记录将遍历数据库

来自分类Dev

Laravel 5.2多个项目在Redis上使用队列,如果作业失败,记录将遍历数据库

来自分类Dev

循环遍历数据库中的每个表并获取一列的前三位数字

来自分类Dev

遍历数据框

来自分类Dev

遍历数据框

Related 相关文章

  1. 1

    如何遍历数据库的表?

  2. 2

    遍历数据库Django

  3. 3

    遍历数据库结果

  4. 4

    MySQL基于时间戳循环遍历数据库?

  5. 5

    PHP遍历数组以从数据库中选择

  6. 6

    遍历数据库以填充列表视图

  7. 7

    Django:遍历数据库视图的QuerySet

  8. 8

    PHP遍历数据库中的JSON对象

  9. 9

    遍历数据库取决于属性

  10. 10

    如何遍历数据库中的表,然后根据条件遍历这些表行?

  11. 11

    如何遍历数据库中的数据以使其成为模板中的单选按钮?

  12. 12

    遍历数据库获取值并将其放在datagridview中的特定位置

  13. 13

    遍历数据库对象并将其渲染到模板

  14. 14

    如果遍历数据库行,in_array()会继续附加值

  15. 15

    如何遍历数据库中的字段并查找空字段

  16. 16

    如何遍历数据库中已有的对象并更新字段?

  17. 17

    遍历数据库获取值并将其放在datagridview中的特定位置

  18. 18

    如果遍历数据库行,in_array()会继续附加值

  19. 19

    遍历数组并添加到数据库-Laravel / Eloquent / PHP

  20. 20

    遍历数据库时SQL查询中的语法错误

  21. 21

    循环遍历数组并将每个值添加到 Realm 数据库 Swift 3

  22. 22

    Firebase For Android Studio - 如何遍历数据库中的每个项目?

  23. 23

    Rails 遍历数据库表并按名称拒绝一个对象

  24. 24

    遍历数据库对象并将数据附加到Javascript中具有特定键值的对象

  25. 25

    Laravel 5.2多个项目在Redis上使用队列,如果作业失败,记录将遍历数据库

  26. 26

    Laravel 5.2多个项目在Redis上使用队列,如果作业失败,记录将遍历数据库

  27. 27

    循环遍历数据库中的每个表并获取一列的前三位数字

  28. 28

    遍历数据框

  29. 29

    遍历数据框

热门标签

归档