从MySQL中的ResultSet获取行数?

问题描述 投票:-1回答:3

我有一个通过JDBC连接到我的数据库的表单,我创建了一个方法,我打算打印出表格中的行数,如下所示:

public static void getRowCount(String sql, PrintWriter printThis)
{
   try
   {
       Connection c = // Another function called from a different class that handles the connection
       PreparedStatement p = (PreparedStatement) connect.prepareStatement(sql);
       ResultSet r = p.executeQuery();

       while (r.next())
       {
           printThis.println(r.toString());
       }
        c.close();
   }

   catch (Exception e)
   {
        e.printStackTrace();
   }
}

如果我将sql字符串"Select COUNT(*) FROM MyTable;"作为参数传递,它应该打印出我的表的行数。例如,如果我目前在MyTable中有4行,它应该打印4但它打印出来的是一个随机数字和字母的对象:

com.mysql.jdbc.JDBC42ResultSet@7e11fc40

将sql查询传递给我的函数后,如何显示sql查询的结果?

java mysql database count resultset
3个回答
1
投票
 r.getInt("totalCount");

将查询更改为"Select COUNT(*) as totalCount FROM MyTable;"

如果你想使用printThis,将r作为参数传递给函数,并在结果集中使用getInt方法获取函数内的整数值。


0
投票

由于结果集只包含一列,因此您只需使用列索引号即1即可。

r.getInt(1);


0
投票

你必须改为这行printThis.println(r.toString());

并添加为此printThis.println(r.getInt(1));System.out.println(r.getInt(1));

© www.soinside.com 2019 - 2024. All rights reserved.