如何在jComboBox中显示多个字段但只在数据库中插入一个字段?

乔科·费尔南德斯

我有一个名为 Client 的表,其中包含 clientID 和 clientName 作为字段,我想在组合框中显示这两个字段,但我只想在单击添加按钮后将 clientID 插入到我的另一个表中。

我有这个方法来填充我的组合框

private void fillClient(){
Connection con = getConnection();
String sql = "Select clientID, clientfname from client";

    try {
        pst=con.prepareStatement(sql);
        optset = pst.executeQuery();
        while (optset.next()){
            String id = optset.getString("clientID");
            String nme = optset.getString("clientfname");
            String cmb = (id+"-"+nme);
            clientCmb.addItem(cmb);
        }
    } catch (SQLException ex) {
        Logger.getLogger(Reservation.class.getName()).log(Level.SEVERE, null, ex);
    }}

问题是,插入的数据是组合字符串。

这是我将所选项目插入数据库的方法。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Connection con = getConnection();
        String client = (String) clientCmb.getSelectedItem();
  String driver = (String) driverCmb.getSelectedItem();
  String van = (String) vanCmb.getSelectedItem();

  String sql = "Insert into reservation (clientID,van,driverID) values('"+client+"','"+driver+"','"+van+"')";

  try {
           Statement stmt = con.createStatement();
           stmt.executeUpdate(sql);
           JOptionPane.showMessageDialog(this, "Saved");
        } catch (SQLException ex) {
            Logger.getLogger(Reservation.class.getName()).log(Level.SEVERE, null, ex);
        }



    }    
布拉尼斯拉夫·拉齐奇

创建一个代表您的客户的模型类并重写toString

public class Client {
    private int id;
    private String firstName;
    private String lastName;

    // Getters and setters

    public String toString() {
        return firstName + " " + lastName;
    }
}

组合框项目中的文本将根据toString方法显示将此模型类设置为您的JComboBox.

JComboBox<Client> comboBox = new JComboBox<>();

选择组合框项目后,您现在可以获得整个对象。对那个对象做任何你想做的事情。获取 id、name 或其他任何内容。

PS 如果所有这些代码都是由 NetBeans GUI 生成器生成的,我表示哀悼。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在数据库的一个字段中插入三个下拉值

将多个组合框插入数据库中的一个字段

在一个字段中显示以逗号格式插入数据库的图像

Crystal Reports-在数据库字段下的表中添加一个字段

如何重新插入所有现有字段,但只更改PostgreSQL中的一个字段数据?

如何使用SQLite从数据库表中仅获取一个字段?

Golang bson结构-在json中的单个字段中使用多个字段名称,但仅一个字段用于写入数据库

如何在SQL查询的一个字段中求和多个字段?

从数据库中查询,该数据库可能具有一个字段的多个值

如何在两列中显示一个字段中的 AVRO 数据?

使用Hibernate更新实体,该实体的一个字段只能在数据库中编辑

如果一个字段为TRUE,则自动从数据库中删除对象

parse.com数据库中仅添加了一个字段

将包含json的字段中的数据保存到数据库的另一个字段中

要从数据库而不是数据库的最后一个字段中搜索名称

将1个字段复杂地移动到另一个数据库中的一个字段所需的mysql查询

Codeigniter活动记录类-从数据库中获取除一个字段外的所有字段

如何从多个表中获取一个字段的数据?

如何在Solr的一个字段中搜索多个单词?

如何在Django模型的一个字段中添加多个输入

如何在Elasticsearch中搜索具有多个值的一个字段?

如何在一个字段中从 Firestore 调用多个集合 - React Native

如何在反应中根据另一个字段更新一个字段?

从一个数据库列映射到Solr中的多个字段

将表单中的多个字段插入数据库中的单个字段

Django 一个字段中的多个文件

在一个字段中存储多个参考

如何选择一个字段不同的单行?数据库服务器

如何只更新正文请求中的一个字段?