我有一个通过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查询的结果?
r.getInt("totalCount");
将查询更改为"Select COUNT(*) as totalCount FROM MyTable;"
如果你想使用printThis
,将r
作为参数传递给函数,并在结果集中使用getInt
方法获取函数内的整数值。
由于结果集只包含一列,因此您只需使用列索引号即1即可。
r.getInt(1);
你必须改为这行printThis.println(r.toString());
并添加为此printThis.println(r.getInt(1));
或System.out.println(r.getInt(1));