resultset(ResultSet详解)
一、java中Result和ResultSet的区别,各有什么优点
二者的区别在于前者对于修改不敏感,而后者对于修改敏感
resultSetConcurency是设置ResultSet对象能够修改的,取值如下:
ResultSet.CONCUR_READ_ONLY设置为只读类型的参数。
ResultSet.CONCUR_UPDATABLE设置为可修改类型的参数。
以下两种方法的共性:返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
不可用结果集更新数据库:
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
可用结果集直接更新数据库:
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATETABLE);
二、java菜鸟 int result和ResultSet result分别是什么意思
int
result是说一个变量名为result的变量类型是int型(基本类型),很常见的使用。
ResultSet
result
是说一个变量名为result的变量是ResultSet类型,用于接收数据库经过长靴语句后返回的结果。
两者都是名为result的变量但是数据的类型是完全不同的所以使用的情况是完全不同的,ResultSet主要就是在跟数据库交互是接收数据库返回的数据的时候使用,你可以仔细看看int和ResultSet的区别。希望帮到你
三、ResultSet怎么用
在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Java代码
Statement stmt= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset= stmt.executeQuery("select* from yourTableName");
rset.last();
int rowCount= rset.getRow();//获得ResultSet的总行数
Statement stmt= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rset= stmt.executeQuery("select* from yourTableName"); rset.last(); int rowCount= rset.getRow();//获得ResultSet的总行数第二种:利用循环ResultSet的元素来获得ResultSet的总行数
Java代码
ResultSet rset= stmt.executeQuery("select* from yourTableName");
int rowCount= 0;
while(rset.next()){
rowCount++;
}
ResultSet rset= stmt.executeQuery("select* from yourTableName"); int rowCount= 0; while(rset.next()){ rowCount++;}rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
Java代码
ResultSet rset= stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount= 0;
if(rset.next()){
rowCount=rset.getInt("totalCount");
}
ResultSet rset= stmt.executeQuery("select count(*) totalCount from yourTableName"); int rowCount= 0; if(rset.next()){ rowCount=rset.getInt("totalCount");}rowCount就是ResultSet的总行数。
• Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData是ResultSet的元数据的集合说明。
java获得ResultSet总列数的代码如下:
Java代码
Statement stmt= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset= stmt.executeQuery("select* from yourtable");
ResultSetMetaData rsmd= rset.getMetaData();
int columnCount= rsmd.getColumnCount();
Statement stmt= con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rset= stmt.executeQuery("select* from yourtable"); ResultSetMetaData rsmd= rset.getMetaData(); int columnCount= rsmd.getColumnCount();columnCount就是ResultSet的总列数。