获取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; |
|
实例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();将游标回到初始位置。