求助!!!急!小女子先谢过了!!有关在mysql如何得到记录数的问题 "select count(*) as total from mg_wap_battle where from_id=?"ResultSet.getInt("total");或者getString 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我本想用Vector来做,但是好象不太好实现 sqlStmt = sqlConn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);你可能这里错了 你默认的sqlConn.createStatement();试试 rs.last()再getRow的方法可以的 建议多使用PreparedStatementpublic static String url="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=GBK"; public static Connection getConnection()throws SQLException,java.lang.ClassNotFoundException{ Class.forName("org.gjt.mm.mysql.Driver"); return DriverManager.getConnection(url); } public static void main(String[] argv)throws Exception{ Connection conn=getConnection(); PreparedStatement psm=conn.prepareStatement("select * from stocktable"); ResultSet rs=psm.executeQuery(); rs.last(); System.out.println(rs.getRow()); rs.close(); psm.close(); conn.close(); } } 如果上述方法都不行的话,你可以尝试一下这个方法int count=0;while(rs.next)count++;这样能统计总行数。 不行,程序到rs.last()就出错了,没有往下执行了!!!! 用PreparedStatement psm=conn.prepareStatement("select * from stocktable");这个方法还是不行,难道真的要用二次查库??? 姐姐,我有个想法,你可以select count(*), id, ......这样,rs.getInt(1)返回的就是行数啊。认同的话给点分吧,还没人给过我呢。 我觉得最好别用 last(),它比count(*)耗资源要大 请问抛出什么异常 偶用rs.last()没问题哦 同意zgysc,last()不快,数据库连接没有断开的话还是用count()好, 我的mysql是3.2.3,由于某些原因,不能升级。错误为:java.lang.AbstractMethodError: org.gjt.mm.mysql.ResultSet.last()Z 你可以去升级一下mysql的jdbc驱动试试,不过用.last()这样实在效率较低,还不如select count(...) 来的快. 需要驱动支持,还有就是在createStatement的时候要加参数 如果取到的记录集为空的时候调用last方法会抛出异常的 由于不能升级驱动程序,只好采用了count(*)再查一次库,从而取得记录个数!:( 求教:如何用Java生成下面内容的XML文件?求源码~ 谁有java udp 广播的代码哦 为什么会有如下错误呢? 新手- 0 -求解 JAVA中如何实现把参数传给一个线程? 在“事务处理”过程中的参数应该怎样调用呢?请大家帮助!!! 不能动态编译的问题 为什么取英镑的符号打印出来是个问号? 谁能提供一个下载地址native2ascii的工具 DateFormat有没有getDateInstance方法。如果有在那个来里面!谢谢了等带。。。 2.6+2.3+2.2=7.1000000000000005 这是怎么回事? 请问一个有小数的数字,怎么将它变成一个整数,假如有尾位就+1
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
你可能这里错了
你默认的sqlConn.createStatement();试试
rs.last()再getRow的方法可以的
public static String url="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=GBK";
public static Connection getConnection()throws SQLException,java.lang.ClassNotFoundException{
Class.forName("org.gjt.mm.mysql.Driver");
return DriverManager.getConnection(url);
}
public static void main(String[] argv)throws Exception{
Connection conn=getConnection();
PreparedStatement psm=conn.prepareStatement("select * from stocktable");
ResultSet rs=psm.executeQuery();
rs.last();
System.out.println(rs.getRow());
rs.close();
psm.close();
conn.close();
}
}
int count=0;
while(rs.next)
count++;
这样能统计总行数。
这个方法还是不行,难道真的要用二次查库???
这样,rs.getInt(1)返回的就是行数啊。认同的话给点分吧,还没人给过我呢。
偶用rs.last()没问题哦
last()不快,数据库连接没有断开的话还是用count()好,
java.lang.AbstractMethodError: org.gjt.mm.mysql.ResultSet.last()Z
不过用.last()这样实在效率较低,还不如select count(...) 来的快.