JDBC判斷數據庫查詢結果集是否爲空
一般來講都是用rs.next()來判斷結果集是否爲空,可是因爲執行rs.next()後指針指向的是結果集中的第一條記錄,此時再用while(rs.next())取結果集中的數據就會致使第一條數據沒法獲得。因此用如下代碼段是個比較好的判斷方法。
if(!rs.next()) //結果集爲空
{
//執行某操做
}
else //不爲空
{
do
{
//循環執行某操做,這裏用do-while先走執行操做,而後while判斷。
}while(rs.next());
}
-------------------------------------錯誤的作法-------------------------------------
這裏當正常判斷: if(rs.next()){//rs不爲空
while(rs.next()){
//循環執行某操做
}
}else{//rs爲空
//執行某操做
}
這個時候由於if裏的rs.next()作判斷遊標日後走了一個,因此當下面while裏rs.next作循環判斷的時候,就是
從第二條數據開始的了。可是咱們要取得第一條數據。就用上面的作法。數據庫