㈠ resultset cannot be resolved
你也太粗心了,resultset根本沒定義,你後面用的變數是rs。
你可以把resultset改成rs,比如rs.updateString("商品ID號",商品ID號);-----
或者ResultSet rs; 把改成ResultSet resultset;
建議用後面一種方法,你只需要改這個就ok了,如果用前面的,後面的都需要修改
㈡ ResultSet游標移動和,值獲取,錯誤!
這個其實不仔細想的話也應該能猜得到,問題就是越界了。如果你想快速解決問題,那麼很簡單,確保你每次調用getInt之前的那句next的返回值都檢查過是否為true
接下來說一下next()的作用,ResultSet相當於一個指針(或者稱之游標)指向一個集合中的元素。next每次將這個游標指向當前元素的下一個元素,並返回true,如果當前已經是最後一個元素了,那麼返回false。next()方法本身不會拋異常。
代碼1:在while循環中,你調用next()方法時,rs表示的游標可能已經指向末尾了,因此你在它之上調用next()會返回false(但你沒有檢查),接下來再調用getInt會拋錯
代碼2:不拋錯,因為你調用了next以後立馬調用了previous,保證你不會對越界的元素做任何操作
代碼3:這個代碼不拋錯並不表示這個代碼不會拋錯。你不拋錯的原因是你的resultset的元素個數是偶數。所以你每個while循環消耗兩行數據,最後末尾的時候會被你的while循環檢測到
㈢ 什麼情況下會報「未調用 ResultSet.next」這個錯誤,就想弄清楚這個錯誤
ResultSet 游標最初位於第一行之前;第一次調用 next 方法使第一行成為當前行;第二次調用使第二行成為當前行,依此類推。
上述問題的提示是告訴你:「小伙兒,記錄集的游標還在第一條記錄之前,還沒指向第一條記錄。想要獲取ResultSet類中的記錄先調用.next()方法將游標指向第一條記錄吧!」
㈣ JAVA初學者ResultSet結果集報錯
你使用的是insert into插入語句,應該使用這個executeQuery方法:
解釋如下:
由於在執行插入操作時,調用了executeQuery方法,出現錯誤;插入操作應該調用executeUpdate方法
int result = stat.executeUpdate(sql.toString());
㈤ 兩次調用ResultSet時報錯!
這個錯 是說 rt.getString("name") 或者
rt.getString("cost") 或者
rs.getString("handset") 這個幾個結果集 不能得到數據
rt.next(); 改成
if(rt.next()){
ResultSet rs=stmt.executeQuery("select * from login where email='"+email+"'");
if(rs.next()){
stmt.executeUpdate("INSERT INTO temporary(name,cost,handset)VALUES('"+rt.getString("name")+"','"+rt.getString("cost")+"','"+rs.getString("handset")+"')");
}
}
㈥ ResultSet 獲得資料庫查詢結果是地址,怎麼顯示裡面的數據啊,用rs.next()總是報錯啊
ResultSet是一個集合,rs.next()是判斷有沒有數據,返回值是個boolean類型的。
想得到數據,根據數據類型和select的列名,用 ResultSet.getString(列名),
ResultSet.getBoolean(列名)
等等
㈦ java連接SQL,用的是JDBC,連接上了,statement語句也過了,但是resultset去不執行報錯
你的資料庫是SQLServer 2000 嗎??
如果不是就是你的驅動包倒錯了
: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]
看下自己的錯誤
㈧ expect腳本問題: set result [exec ps -ef]------------正常 set result [exec ps -ef|grep jboss]-報錯
騰訊昵稱:白牛之C