jdbc获取结果⾏数_在Java中,获得ResultSet的总⾏数与总列
数
第⼀种:利⽤ResultSet的getRow⽅法来获得ResultSet的总⾏数
Statement stmt = ateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet r
//获得ResultSet的总⾏数
第⼆种:利⽤循环ResultSet的元素来获得ResultSet的总⾏数
ResultSet rt = uteQuery("lect * from yourTableName"); int rowCount = 0; ()) { rowCount++; }
rowCount就是ResultSet的总⾏数。
第三种:利⽤sql语句中的count函数获得ResultSet的总⾏数
ResultSet rt = uteQuery("lect count(*)
totalCount from yourTableName"); int rowCount = 0; ()) { rowCount=rt .getInt("totalCount "); }
rowCount就是ResultSet的总⾏数。
*************************************************************************************
rain的过去式Java中获得ResultSet的总列数是⾮常简单事情,因为Java中ResultSet提供了ResultSetMetaData⼯具类,ResultSetMetaData 是ResultSet的元数据的集合说明。
java获得ResultSet总列数的代码如下:
Statement stmt = ateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet r
columnCount 就是ResultSet的总列数。
--------------------------------------------------机械类专业大学排名
记得以前写过⼀篇,但是貌似那个有点问题,那个应该是列数,这个地⽅,我重新纠正⼀下⾃⼰,也记录⼀下,因为总是会忘记,正好今天
⽤到了,就赶紧发了算了...
代码如下:
Statement stmt = ateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY); ResultSet rs = uteQuery(sql); rs.last(); int length = rs.getRow();
如上,length的值,就是⾏数了。如果在获取了⾏数后,还需要继续使⽤当前数据集rs,则需要rs.beforeFirst();⼀次,将游标回到初始位置。
ResultSet.TYPE_SCROLL_INSENSITIVEinwhich
结果集的游标可以上下移动,当数据库变化时,当前结果集不变。
ResultSet.CONCUR_READ_ONLY 不能⽤结果集更新数据库中的表。
此外,给出Statement创建时的其他说明:
通⽤格式为:Statement ateStatement(int type,int
concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,⽐如我们先计算有多少条信息,这是我们就需要
把指针移到最后来计算,然后再把指针移到最前⾯,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为
了不破坏数据,我们可采⽤只读模式,有时我们需要望数据库⾥添加记录,这是我们就要采⽤可更新数据库的模式。
下⾯是所有参数的说明:
参数 int type
ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。
ResultSet.TYPE_SCROLL_INSENSITIVE
结果集的游标可以上下移动,当数据库变化时,当前结果集不变。spend
take care of my eyes什么意思
ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
参数 int concurrency
ResultSet.CONCUR_READ_ONLY 不能⽤结果集更新数据库中的表。
ResultSet.CONCUR_UPDATETABLE 能⽤结果集更新数据库中的表。
此外,当我们使⽤ResultSet
uteQuery(SQL语句)查询后,我们可以使⽤下列⽅法获得信息:
public boolean previous()
赖世雄英语将游标向上移动,该⽅法返回boolean型数据,当移到结果集第⼀⾏之前时,返回fal。
public void beforeFirst 将游标移动到结果集的初始位置,即在第⼀⾏之前。
public void afterLast() 将游标移到结果集最后⼀⾏之后。
public void first() 将游标移到结果集的第⼀⾏。
treat or trickpublic void last() 将游标移到结果集的最后⼀⾏。
public boolean isAfterLast() 判断游标是否在最后⼀⾏之后。
public boolean isBeforeFirst() 判断游标是否在第⼀⾏之前。angel什么意思
public boolean ifFirst() 判断游标是否指向结果集的第⼀⾏。
public boolean isLast() 判断游标是否指向结果集的最后⼀⾏。
public int getRow() 得到当前游标所指向⾏的⾏号,⾏号从1开始,如果结果集没有⾏,返回0。avast是什么
public boolean absolute(int row)
将游标移到参数row指定的⾏号。如果row取负值,就是倒数的⾏数,absolute(-1)表⽰移到最后⼀⾏,absolute(-2)表⽰移到倒数第2⾏。当移动到第⼀⾏前⾯或最后⼀⾏的后⾯时,该⽅法返回fal。
ResultSetMetaData rsmd = MetaData();determine