SQL& Java:在结果集循环中递增计数器

时间:2017-04-09 13:37:05

标签: java sql

我需要知道如何做到这一点,以便每次while循环完成时变量 q 都会递增。

<MenuItem Header="Save File" Command="{Binding ActiveDocument.SaveCommand}">
    <MenuItem.Style>
        <Style TargetType="MenuItem">
            <Style.Triggers>
                <Trigger Property="Command" Value="{x:Null}">
                    <Setter Property="IsEnabled" Value="False" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </MenuItem.Style>
</MenuItem>

如果有一种方法可以在没有int的情况下执行此操作,我会对它开放。

由作者编辑

这是表格的图片:

SQL table related to the question

我需要得到@Field private int minutesPlayed; @Transient private int STATminutesPlayed; public int getSTATminutesPlayed() { return 90; } public void setSTATminutesPlayed(int STATminutesPlayed) { setMinutesPlayed(STATminutesPlayed); } public int getMinutesPlayed() { return minutesPlayed; } public void setMinutesPlayed(int minutesPlayed) { this.minutesPlayed += minutesPlayed; } 每个int q; try { System.out.println("given:"); Connection con = DriverManager.getConnection(Main.host, Main.uName, Main.uPass); Statement stmt = con.createStatement(); q = 1; String u = "SELECT *, COUNT(`like_user_id`) FROM `xf_liked_content` WHERE `xf_liked_content`.`like_user_id` = " + q; ResultSet rs = stmt.executeQuery(u); while (rs.next()) { String count = rs.getString("COUNT(`like_user_id`)"); String user_id = rs.getString("like_user_id"); System.out.println(user_id + "|" + count); q++; } } catch (SQLException err) { System.out.println(err.getMessage()); } 的次数。 我的意思是,如果有4行liked_user_id,控制台输出将是like_user_id = 7

  

屏幕截图中的预期结果:

     

1 | 1

     

2 | 3

edit2:我现在已经尝试了其他一些东西,仍然没有解决方案。

2 个答案:

答案 0 :(得分:0)

您添加了一个WHERE子句like_user_id = 1,它可能只返回1行。您可以进行一些更改:

  1. 代码约定:选择特定列名称并使用别名而不是count(*)作为列名称
  2. 删除where子句以获取完整列表(或更好的可预测的where子句)
  3. 代码

    {{1}}

答案 1 :(得分:0)

我将SQL查询(var u)更改为选择like_user_id,将xf_liked_content组中的计数(*)改为like_user_id

也有效。