看板 java 關於我們 聯絡資訊
請教一下各位前輩 原本前人寫法如下 ========================================= if(false == rs.first()){ return null; } do{ //get info from resultset }while(rs.next()); ========================================= 這樣的取法造成有時候會遺失 query 的最後一個結果 我索性改成以下方式就不會出現這問題了. ========================================= if(!rs.isBeforeFirst()) return null; while(rs.next()){ //get info from rs } ========================================= 想請教的是第一種寫法, 其實我看不太出來發生錯誤的原因是什麼? 希望各位可以為我解惑, 萬分感謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.163.209 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1466585423.A.B90.html ※ 編輯: wadechen (1.34.163.209), 06/22/2016 16:51:32
Lordaeron: 為何判斷是否第一筆或未開始抓呢?一直next不就抓完了 06/22 16:58
pico2k: 原本的程式,只要回傳的筆數大於1,最後一筆永遠抓不到 06/22 17:45
wadechen: 但有時候最後一筆會正常出現 怪怪 06/22 17:49
pico2k: 如果在新增資料前,先執行查詢,查詢到的資料會漏新增那一筆 06/22 18:13
wadechen: 可是測試為讀取固定的資料椰 06/22 18:17
Lordaeron: 哪不就很正常, 你抓時, 資料又未進去, 當然就沒有啊 06/22 20:11
Lordaeron: 不然呢? 06/22 20:11
iFEELing: 新增資料"前"做查詢 能查到新增的資料不就見鬼了... 06/23 03:32
iFEELing: 比較好奇用 while(rs.next()){get} 會有什麼問題嗎 06/23 03:34