重复相同值集的 JavaFX 组合框
JavaFX combo box repeating the same value set
我使用组合框从 MySQL 数据库中检索数据。但是,当我将第一个值集插入数据库时,组合框值会重复。我想知道它为什么会发生以及如何避免它。我在 main 上调用了这个方法。谢谢
public void FillCombo(){
try{
String sql = "Select Name from Employee where Position='Driver'";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
op.add(rs.getString("Name"));
}
selectDriverC.setItems(op);
pst.close();
rs.close();
}
catch(Exception e){
System.out.println(e);
}
}
添加一个条件来检查您要插入的字符串是否已经在 op
中,
我假设 op
类型是 ObservableList<String>
。这应该有效:
public void FillCombo(){
try{
String sql = "Select Name from Employee where Position='Driver'";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
if(!op.contains(rs.getString("Name"))
add(rs.getString("Name"));
}
selectDriverC.setItems(op);
pst.close();
rs.close();
}
catch(Exception e){
System.out.println(e);
}
}
我使用组合框从 MySQL 数据库中检索数据。但是,当我将第一个值集插入数据库时,组合框值会重复。我想知道它为什么会发生以及如何避免它。我在 main 上调用了这个方法。谢谢
public void FillCombo(){
try{
String sql = "Select Name from Employee where Position='Driver'";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
op.add(rs.getString("Name"));
}
selectDriverC.setItems(op);
pst.close();
rs.close();
}
catch(Exception e){
System.out.println(e);
}
}
添加一个条件来检查您要插入的字符串是否已经在 op
中,
我假设 op
类型是 ObservableList<String>
。这应该有效:
public void FillCombo(){
try{
String sql = "Select Name from Employee where Position='Driver'";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
if(!op.contains(rs.getString("Name"))
add(rs.getString("Name"));
}
selectDriverC.setItems(op);
pst.close();
rs.close();
}
catch(Exception e){
System.out.println(e);
}
}