【发布时间】:2014-06-06 13:07:13
【问题描述】:
我有一个ResultSet。这个ResultSet 正在用这样的数据填充JComboBox:
DatabaseHandler dh = new DatabaseHandler();
public ResultSet Klanten;
public BestellingenNieuwPanel() {
initComponents();
//Removes all items from KlantBox.
KlantBox.removeAllItems();
//Removes all from ProductBox.
ProductBox.removeAllItems();
try {
Klanten = dh.getDataFromDB("select * from klanten");
while (Klanten.next()) {
String strKlanten = Klanten.getString("Achternaam");
KlantBox.addItem(Klanten.getString(3));
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
这很好用。但是,每当我尝试像这样再次遍历ResultSet Klanten 时:
private void KlantBoxActionPerformed(java.awt.event.ActionEvent evt) {
if(Klanten != null){
String strSelected = KlantBox.getSelectedItem().toString();
try {
while(Klanten.next()){
String KlantVoornaam = Klanten.getString(1);
String KlantAchternaam = Klanten.getString(2);
String KlantWoonplaats = Klanten.getString(4);
if(strSelected == KlantAchternaam){
txtKlantNaam.setText(KlantAchternaam);
txtKlantWoonplaats.setText(KlantWoonplaats);
}
}
} catch (SQLException ex) {
}
}
}
我的JComboBox Klanten 只有它的最后一个值。
我摆弄了 Klanten.next() 函数,发现该函数是问题的根源。
还有其他方法可以遍历ResultSet吗?
或者有没有办法在不重置我的JComboBox 的情况下循环ResultSet?
【问题讨论】: