程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA中的ResultSet屬性分析

JAVA中的ResultSet屬性分析

編輯:關於JAVA

1.如何計算出來所查詢出來的記錄的總個數呢?

int i=0;
while(rs.next()){
    i++;
}
System.out.println(String.valueOf(i));

所以如果說在分頁中就可以這樣判斷一次提取出來50條,然後判斷一下這個變量是否為50。如果為則表示可能會還有記錄。

2.判斷所查詢的記錄是否為空(就是說到底有沒有合符條件的記錄)

if(rs.next()){
   System.out.print("have");
}else{
   System.out.print("not have");
}
這個其實就相當於delphi中的rs.recordCount()屬性是差不多的哦!哪怕只有一條記錄也會打印出來 have的

3.判斷一下next()之後會發生什麼事情

int i=0;
if(rs.next()){
  while(rs.next()){
   i++;
  }
}

如果你這樣寫的話就相當於將記錄集往下移了一下了。這樣統計出來的記錄個數跟你實際的記錄個數相比會少一個哦!記住哦!

那怎麼辦呢?

if(rs.next()){
  rs.beforeFirst();
  while(rs.next()){
   i++;
  }
}
這個表示的是如果有下一條則至少有一條了。就可以使用beforeFirst了。

::以後就可以比較好地使用ResultSet了!

4.可以通過如下 的方法將數據讀取出來:

while(rs.next()){

System.out.println(String.valueOf(rs.getString(1)));

但是如果你這樣寫的話就會少一條:將第一條記錄給少了哦呵呵

if(rs.next()){
   while(rs.next()){
     System.out.println(String.valueOf(rs.getString(1)));
   }
  }
}

因為next之後其實就是將數據移到下一條去了哦!所以這樣寫的話會少一條記錄呵呵!千萬要注意哦!

看看這樣寫是可以了:

if(rs.next()){
    rs.beforeFirst();
    while(rs.next()){
    System.out.println(String.valueOf(rs.getString(1)));
    }
  }

我們必須要先回到第一條才能開始做while操作哦!

這樣才能都讀取出來記錄而不會少記錄哦!

5.那如果我想讀第一條記錄呢?

if(rs.next()){
        
  System.out.println(String.valueOf(rs.getString(1)));
}

就可以讀取出來第一條記錄了!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved