我需要您的助手并帮助获取结果集中可用值的计数。结果集有22个记录,在下面的代码中,它打印从1到23的计数。有没有办法得到总数。记录为22(仅一个值)或从第一个值减去最后一个值?
我的代码在
下面while (rs.next())
{
count=0;
name1=rs.getString("name");
out.println(rs.getRow());
}
我尝试使用rs.first()和rs.last(),它产生了以下错误: java.sql.SQLException:仅向前结果集的无效操作:第一个
我尝试将参数添加到createstatement,但同样的例外是:
conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
java.sql.SQLException:仅转发结果集的操作无效:last 请帮助我解决上述问题
答案 0 :(得分:1)
试试这个:
int rowcount = 0;
if (rs.last()) {
rowcount = rs.getRow();
rs.beforeFirst();
}
修改强>
您需要更改此查询的语句,以便您可以使用rs.last()
Statement stmt = con.createStatement(rs.TYPE_SCROLL_INSENSITIVE);
ResultSet rs = stmt.executeQuery("Your query");
答案 1 :(得分:0)
您可以使用MySQL count(*)
try{
Statement stmt = connection.createStatement();
String selectquery = "select count(*) from YourTable";
ResultSet rs = stmt.executeQuery(selectquery);
rs.next();
System.out.println("Amount of rows :" + rs.getInt(1));
}
如果您想根据" name"计算行数,那么
try{
Statement stmt = connection.createStatement();
String selectquery = "select count(name) from YourTable";
ResultSet rs = stmt.executeQuery(selectquery);
rs.next();
System.out.println("Amount of rows :" + rs.getInt(1));
}