查询数据库时怎样获取结果的个数? int count = 0;rs.last();count = rs.getRow(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是会出现这样一个东西:java.lang.AbstractMethodError: COM.ibm.db2.jdbc.app.DB2ResultSet.last()Z当使用rs.first()时也会出现,这也就是我为什么不用while(rs.next()) { count++;}的原因 可以直接在sql语句里面写一个函数count(*)就可以了 可以直接修改SQL语句了,比如这样做:PreparedStatement preStat = connection.prepareStatement("SELECT COUNT(*) FROM TAG WHERE FORMATID=?");preState.setLong(1, FORMATID);// 以上把你查询的*修改成为COUNT(*)ResultSet rs = preStat.executeQuery();long count = 0;if ( rs.next()) { count = rs.getLong(1);}大概就是这样的操作,你直接取结果集的值就可以了.让计数的工作交给数据库去做.不知道这样改能不能满足你的需求. 确实,我刚刚也这么做的,已经ok了String strSql = "SELECT COUNT(TAGID) FROM TAG WHERE FORMATID = " + FORMATID;ResultSet rs = stmt.executeQuery(strSql);rs.next();int count = rs.getInt(1);谢过上面两位了! java产生服从Zipf分布的随机数 Jtable中复选框的使用问题(JcheckBox) java中线程挂起 js查看表单提交的内容 如何判断自己用Runtime生成的Process进程是否已经关闭 java如何操作excel中的表单对象(复选框、单选框等)? 急求 java流的问题,求高手指导 woowindice,感谢你的资料,过来给你分。 jmx远程调用超时 Resin和IIS的配合 在jsp中有段连接数据库的代码!问:是不是每次调用这个jsp文件时都与数据库进行一次连接!
java.lang.AbstractMethodError: COM.ibm.db2.jdbc.app.DB2ResultSet.last()Z
当使用rs.first()时也会出现,这也就是我为什么不用
while(rs.next()) {
count++;
}
的原因
PreparedStatement preStat = connection.prepareStatement("SELECT COUNT(*) FROM TAG WHERE FORMATID=?");
preState.setLong(1, FORMATID);
// 以上把你查询的*修改成为COUNT(*)
ResultSet rs = preStat.executeQuery();
long count = 0;
if ( rs.next()) {
count = rs.getLong(1);
}
大概就是这样的操作,你直接取结果集的值就可以了.让计数的工作交给数据库去做.
不知道这样改能不能满足你的需求.
String strSql = "SELECT COUNT(TAGID) FROM TAG WHERE FORMATID = " + FORMATID;
ResultSet rs = stmt.executeQuery(strSql);
rs.next();
int count = rs.getInt(1);谢过上面两位了!