我有一个表单,它通过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条答案
按热度按时间mwecs4sa1#
你得换成这条线
printThis.println(r.toString());
加上这个printThis.println(r.getInt(1));
或者System.out.println(r.getInt(1));
bvjveswy2#
将查询更改为
"Select COUNT(*) as totalCount FROM MyTable;"
如果你想用printThis
,通过r
作为函数中的参数,并使用getInt
方法。i7uaboj43#
因为resultset只包含一列,所以可以简单地使用列索引号1。
r.getInt(1);