java 获取ResultSet记录行与列实现程序

作者:袖梨 2022-11-14

获取ResultSet记录列数核心代码

代码如下 复制代码
ResultSetMetaData rsmd = this.rs.getMetaData();
this.columnCount = rsmd.getColumnCount();

java获取数据行数的代码如下:

代码如下 复制代码
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
rs.last();
int length = rs.getRow();

length的值就是行数了。如果在获取了行数后,还需要继续使用当前数据集rs,则需要运行rs.beforeFirst();将游标回到初始位置。

Statement创建的通用格式为:

代码如下 复制代码
Statement stmt=con.createStatement(int type,int concurrency);

实例1、改用select count语句,然后直接从ResultSet里面获取结果:

代码如下 复制代码
try {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select count(*) as rowCount from tableName");
resultSet.next();
int rowCount = resultSet.getInt("rowCount");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}


实例2.遍历Resultset,用一个变量记录行数。代码如下

代码如下 复制代码

int count = 0;
try {
while(resultSet.next()){
count = count + 1;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

实例3

代码如下 复制代码
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(sql);
rs.last();
int length = rs.getRow();

length的值就是行数了。

如果在获取了行数后,还需要继续使用当前数据集rs,则需要运行rs.beforeFirst();将游标回到初始位置。

相关文章

精彩推荐