Java 向Eclipse组合添加数据库ID
我正在Eclipse中开发一个Java应用程序,它从MySQL数据库中提取数据。我正在用数据填充一个组合框。到目前为止,我可以获得要显示的字段值,但我不知道如何存储数据库行的唯一ID值。我发现的一个建议是创建一个可以存储display值和id值的自定义类。但是,这似乎不适用于Eclipse小部件组合对象。这就是我所拥有的Java 向Eclipse组合添加数据库ID,java,mysql,eclipse,combobox,Java,Mysql,Eclipse,Combobox,我正在Eclipse中开发一个Java应用程序,它从MySQL数据库中提取数据。我正在用数据填充一个组合框。到目前为止,我可以获得要显示的字段值,但我不知道如何存储数据库行的唯一ID值。我发现的一个建议是创建一个可以存储display值和id值的自定义类。但是,这似乎不适用于Eclipse小部件组合对象。这就是我所拥有的 import org.eclipse.swt.widgets.Combo; class myClass { public static void createCombo
import org.eclipse.swt.widgets.Combo;
class myClass {
public static void createCombo(ResultSet rs) {
Combo c = new Combo();
while(rs.next()) {
int id = rs.getInt("id");
int display = rs.getString("display");
comboitem ci = new comboitem(id,display);
c.add(ci);
}
}
}
class comboitem {
private int _id;
private String _display;
public comboitem(int id, String display) {
this._id = id;
this._display = display;
}
public int getID(){
return _id;
}
public String toString(){
return _display;
}
}
c.add(ci)中的上述错误。它需要的是字符串,而不是对象。有办法做到这一点吗?不知道,但我一直觉得这是一个糟糕的举动。 创建comboitems的集合/列表,从comboitem.display填充小部件。 组合中的索引是集合中的索引。
这意味着您可以在没有UI或使用简单模拟的情况下对许多内容进行单元测试,并且它使您远离数据模型中特定于桌面的实现。combo小部件显示一个字符串数组,因此,如果您想同时显示这两个值,只需将它们连接起来即可。从你的问题来看,我不确定你的最终目标是什么。如果要根据组合选择选择适当的组合项,则将组合项存储在映射中,并使用组合值作为键 另一种方法是使用jface ComboViewer,它允许您将输入设置为复杂对象,提供标签提供程序以及围绕Combo小部件的更复杂控件 您还应该查找一些有关java编码约定的信息,不要直接从UI访问数据库,除非这是一个非常简单的应用程序 您可以找到一些使用大多数SWT小部件的示例