JCOMBOBOX 内的重复值
Posted
技术标签:
【中文标题】JCOMBOBOX 内的重复值【英文标题】:Repeating Values inside JCOMBOBOX 【发布时间】:2013-12-16 13:21:27 【问题描述】:我正在尝试更新 JComboBox
中的值,但问题是当我添加或删除一个值时,JComboBox
中的所有名称都重复了我该如何解决这个问题?我尝试在连接关闭后放置它,但它不起作用
这是我的代码:
private void cmbNamesPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt)
try
String tmp=(String)cmbNames.getSelectedItem();
String sql="SELECT * FROM Account WHERE Fname=?";
pst=conn.prepareStatement(sql);
pst.setString(1,tmp);
rs=pst.executeQuery();
if(rs.next())
String add1=rs.getString("ID");
txtID.setText(add1);
String add2=rs.getString("Fname");
txtFirst.setText(add2);
String add3=rs.getString("Lname");
txtLast.setText(add3);
String add4=rs.getString("Username");
txtUser.setText(add4);
String add5=rs.getString("Password");
txtPass.setText(add5);
cmdUpdate.setEnabled(true);
cmdDelete.setEnabled(true);
cmdAdd.setEnabled(false);
catch(SQLException e)
JOptionPane.showMessageDialog(null,e);
这是我在 Names() 中使用的代码:
private void Names()
try
String sql="Select fname from account";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next())
String name=rs.getString("fname");
cmbNames.addItem(name);
rs.close();
pst.close();
catch(SQLException e)
JOptionPane.showMessageDialog(null,e);
finally
try
rs.close();
pst.close();
catch(SQLException e)
JOptionPane.showMessageDialog(null,e);
【问题讨论】:
忘记从内部 JComboBoxes 事件 PopupMenuWillBecomeInvisible 调用 JDBC, 【参考方案1】:您从数据库中的更新添加了来自查询的项目。每次您运行它时,它只会继续添加项目。在运行更新之前清除组合框。
例如,在遍历结果集之前添加这一行。
cmbNames.removeAllItems();
【讨论】:
以上是关于JCOMBOBOX 内的重复值的主要内容,如果未能解决你的问题,请参考以下文章