Re: [問題]請問如何知道ResultSet有沒有資料,但不 …
※ 引述《konas (夏日飛翔)》之銘言:
: 我的意思是要判斷rs是不是0比資料
: 而不是判斷目前的cursor有沒有資料
: 抱歉造成誤解
你還是沒有抓到我想表達的意思 看來我表達能力太差orz
判斷是不是0筆資料 那就跟我想的是一樣的
我的意思是說
剛取得RS的時候的狀態應該是
Before start of result set
<=這是試著印對剛產生的rs做getString(欄位資訊)的指令
系統給我的exception訊息XD
第一次的if(rs.next())
不是就可以幫助你判斷了嗎?
如果是完完全全的空集合 第一次的rs.next()應該是false;
如果是有東西的集合 第一次的rs,next()應該就會指到第一筆資料
而且這時候資料也還沒有跑掉
cursor也還在第一筆 那為甚麼需要first() @@?
記得我當初還為了這設定感到頗貼心的說XD
HEAD => 第一筆 => 第二筆 => 第三筆
當然如果你的RS取來就已經是在第一筆的狀態的話...
那就當我沒說吧 畢竟所慣用的版本跟資料庫都不同@@
這也算是一種狀況吧 看看對你有沒有幫助囉
我是都是寫成類似這樣
String Sql="select * FROM worker"
ResultSet rs = statement.executeQuery(Sql);
/*
System.out.println(rs.getString("id"));
//java.sql.SQLException: Before start of result set
*/
if(rs.next()){
System.out.println(rs.getString("id"));
while(rs.next()){
System.out.println(rs.getString("id"));
}
}else{
System.out.println("worker無內容欄位");
}
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone everything
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.240.57
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章