這是給我問題的代碼。在while(resultSet.next())循環中調用JComboBox#addItem()最後只有1個項目
try{
ResultSet rs = Main.dbase.search("select * from myTable");
//rs.next()
while(rs.next())
{
cmb.addItem(rs.getString(1).trim());
}
rs.close();
} catch (Exception ex) {System.out.println(ex);}
這裏dbase是一個執行Statement.executeQuery的對象,而cmb是JComboBox。
問題是,即使表中有10行,我只得到單行在cmb。 如果我不註釋掉第一個rs.next(),我得到cmb中的第二行。
我試圖跟蹤rs.next()的價值,發現後而(rs.next())它給了假,始終。
我的目標是獲得cmb中的所有10個值。 作爲我已經研究過的fas,這個代碼應該把所有的值加到cmb中,但是隻有一個值被添加。 如果在進入循環之前我呼叫rs.next(),那麼下一個值將添加到cmb。
'while'循環有多少次循環?把一個調試斷點或一個窮人的'System.out.println()'弄清楚。 – BalusC 2011-06-17 00:36:09
如果註釋掉cmb.addItem行會發生什麼 - 它仍然只運行while循環一次嗎? – Ord 2011-06-17 00:36:26
你能告訴我們創建組合框的代碼嗎? – jfpoilpret 2011-06-17 06:53:35