从MySQL中的ResultSet获取行数?

时间:2018-01-01 06:24:04

标签: java mysql database count resultset

我有一个通过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查询传递给我的函数后显示结果?

3 个答案:

答案 0 :(得分:1)

 r.getInt("totalCount");

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

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

答案 1 :(得分:0)

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

.bootstrap-datetimepicker-widget

答案 2 :(得分:0)

您必须更改为此行printThis.println(r.getInt(1));

并添加为此System.out.println(r.getInt(1));http://localhost:8983/solr/core/select?q=i love Bosnia Herzegovina&wt=json