第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么ResultSet的getInt一定要包括在if rs.next()里面?

為什么ResultSet的getInt一定要包括在if rs.next()里面?

蕪湖不蕪 2018-10-09 17:26:29
sql = "insert into news_base(fid,title,date,author) values("+fid+",'"+title+"','"+dateValue+"','Admin')";            statement = connection.createStatement();            statement.executeUpdate(sql,Statement.RETURN_GENERATED_KEYS);            ResultSet rs = statement.getGeneratedKeys();            if(rs.next()){                System.out.println(rs.getInt(1));            }以上代碼是 正常的。。但是System.out.println(rs.getInt(1));把if rs.next() 去掉 就報錯 java.sql.SQLException: Before start of result set剛學(xué)java不久 求java高手講解之前一直寫的是js,可能思想不一樣
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

可以把 ResultSet 理解為 帶頭結(jié)點的單向鏈表,初始時 指針 指向頭結(jié)點,next() 方法就是用來將 指針 向后移動一個位置 —— 如果該位置有數(shù)據(jù),那么 next() 返回 true,否則返回 false。一般在數(shù)據(jù)庫操作中,我們把這個 “指針” 稱作 “游標(biāo)”。
所以,如果你不寫 if (rs.next()),那么第一次使用 rs 也就沒有調(diào)用 rs 的 next() 方法,那么此時游標(biāo)就處于 “頭結(jié)點” 的位置,但是 “頭結(jié)點” 只是一個標(biāo)識,是沒有數(shù)據(jù)的,因而拋出了異常。

查看完整回答
反對 回復(fù) 2018-11-09
  • 1 回答
  • 0 關(guān)注
  • 1185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號