1.如何計算出來所查詢出來的記錄的總個數呢?
int i=0;
while(rs.next()){
i++;
}
System.out.println(String.valueOf(i));
所以如果說在分頁中就可以這樣判斷一次提取出來50條,然後判斷一下這個變量是否為50。如果為則表示可能會還有記錄。
2.判斷所查詢的記錄是否為空(就是說到底有沒有合符條件的記錄)
if(rs.next()){
這個其實就相當於delphi中的rs.recordCount()屬性是差不多的哦!哪怕只有一條記錄也會打印出來 have的
System.out.print("have");
}else{
System.out.print("not have");
}
3.判斷一下next()之後會發生什麼事情
int i=0;
if(rs.next()){
while(rs.next()){
i++;
}
}
如果你這樣寫的話就相當於將記錄集往下移了一下了。這樣統計出來的記錄個數跟你實際的記錄個數相比會少一個哦!記住哦!
那怎麼辦呢?
if(rs.next()){
這個表示的是如果有下一條則至少有一條了。就可以使用beforeFirst了。
rs.beforeFirst();
while(rs.next()){
i++;
}
}
::以後就可以比較好地使用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)));
}
就可以讀取出來第一條記錄了!