列总数的取得为:
ResultSetMetaData metadata=inrst.getMetaData();
colNumber=metadata.getColumnCount();行总数的方法呢?
ResultSetMetaData metadata=inrst.getMetaData();
colNumber=metadata.getColumnCount();行总数的方法呢?
解决方案 »
- Java中怎么调用exe文件?
- 大家看看这个问题怎么解决
- Jtable选中指定行改变当前行背景色的问题
- 一道笔试题:请谈谈java中反射机制的意义,并列举几个成功运用反射机制的框架库。哪位高人能给我说说啊!谢了哈!
- 请指导我一下入门
- (!!!急!!!)在线求一条SQL语句写法....
- 寻找java高手,我的问题希望能在QQ上慢慢解决。500分!两个星期。
- 大神,求进来帮帮忙!org.springframework.beans.factory.BeanDefinitionStoreException
- 诚邀有意者一起详细学习pet store!(同时请worldheart等高手随时指点)
- JAVA APPLET 如何扑获用户在浏览器中按下文件菜单里的“关闭”和右上角的打叉按钮!!!!
- 一个关于CLASS_PATH的问题!
- 困惑:调用外部程序并杀掉外部程序的问题
或者你数据库的时候用存储过程直接返回一个行的个数就行了
JDBC
好。。弱小
ADO: rs.rowcount;
JDBC
好。。弱小
ADO: rs.rowcount;
Top
rs有这个属性?学习一下,不过楼注可以自己写一个
int i = 0;
while(rs.next)
{
i++;
}
或者你数据库的时候用存储过程直接返回一个行的个数就行了
楼上说的这个方法比较合理!
import java.sql.*;
import java.util.ArrayList;public class ReadSQL {
public ReadSQL(){}
public ResultSet SQLT() {
ResultSet rst=null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con = java.sql.DriverManager.getConnection
("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dfl_zzm",
"sa", "sa");
Statement stmt = con.createStatement();
rst = stmt.executeQuery("select * from TPeopleInfo");
}
catch (ClassNotFoundException e) {
System.out.println(e);
}
catch (SQLException e) {
System.out.println("SQL not found!");}
catch (InstantiationException e) {
System.out.println("SQL not found!");
}
catch (IllegalAccessException e) {
System.out.println("SQL not found!");
}
return rst;
}
//把数据转成二维数组形式,好传到客户端
public String[][] RSql(ResultSet inrst){
ArrayList<String[]> RSqlAL=new ArrayList<String[]>();
String str[];
String OutRSql[][];
int colNumber=0;
//int rowNumber=0;
try {
ResultSetMetaData metadata=inrst.getMetaData();
//得到列数
colNumber=metadata.getColumnCount();
while(inrst.next()){
str=new String[colNumber];
for (int i=0; i<colNumber;i++){
str[i]=inrst.getString(i+1);
}
RSqlAL.add(str);
}
} catch (SQLException e) {
e.printStackTrace();
}
//数据转入数组,以便传送到客户端
OutRSql=new String[RSqlAL.size()][colNumber];
for (int i=0;i<RSqlAL.size();i++){
for(int j=0;j<colNumber;j++){
OutRSql[i][j]=((String[])(RSqlAL.get(i)))[j];
}
}
//打印显示
for(int i=0;i<OutRSql.length;i++){
for(int j =0;j<colNumber;j++){
System.out.print(OutRSql[i][j]+" ");
}
System.out.println();
}
return OutRSql;
}
public static void main(String []args) throws SQLException {
ReadSQL ss=new ReadSQL();
ResultSet res=ss.SQLT();
ss.RSql(res);
}}
不过JDBC没有。
还有我觉得效率最高的办法是专门写SQL来判断!
就是把你要运行的SQL
从Select 到 From 之间改为
count(*)
这样的效率最高。