我的java程序没有正确计算数据库行

时间:2015-08-27 20:04:41

标签: java mysql

我正在制作一个程序,我必须获取MySQL数据库中的行数。我的表有4行但由于某种原因我每次运行程序时都得到数字1。这是我的代码:

public static void showItems() throws Exception {
    try{
        Connection con = getConnection();
        Statement search = con.createStatement();
        ResultSet rs = search.executeQuery("SELECT COUNT(id) FROM main;");
        int rows = 0;
        rs.beforeFirst();
        while (rs.next()){
            rows++;
        }
        System.out.println(rows);

有人能帮助我吗?我在这做错了什么? 我尝试了许多不同的方法,没有人给我正确的价值。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您的查询返回一行并包含值4(表中行数的计数)。

直接在数据库客户端中运行您的查询并查看您获得的内容。

这段代码应该告诉你如何获得" 4"。尝试使用此循环代替包含" row ++":

的循环
while (rs.next()) {
    System.out.println(rs.getInt(1));
}