【问题标题】:Getting value from combobox to database从组合框获取值到数据库
【发布时间】:2015-02-04 11:35:50
【问题描述】:

我应该使用什么特定的命令或算法来获取在 JComboBox 中选择的值,然后将其插入到特定的数据库中?

【问题讨论】:

标签: java database swing user-interface


【解决方案1】:

要获得选定的值, 字符串值=JComboBox.getSelectedItem().toString();

【讨论】:

    【解决方案2】:

    如何从组合框中获取值和如何将值插入数据库是两个完全不同的问题。

    至于提取值,您可以使用 String x = String.valueOf(JComboBox.getSelectedItem()); 行中的内容,但至于如何将其推入数据库 - 嗯,这是一个更大的问题,取决于许多变量,例如您的数据库类型、主机、网络等。

    【讨论】:

      【解决方案3】:

      请注意,您需要确保已对其进行了初始化,并且它至少有一个元素,否则您会遇到异常。在这种情况下,我将使用 sqlite,但就像他们之前所说的,数据库逻辑完全取决于您。

       public Stack() {
          JComboBox<Object> box = new JComboBox<Object>();
          // This can work
          Object value = box.getSelectedItem();
          DatabaseManager manager = new DatabaseManager();
          manager.init();
          if (DatabaseManager.insertRecord(value.toString()))
              System.out.println("Record Inserted");
          else
              System.out.println("Record Insertion Failed");
          }
      
         static class DatabaseManager {
      
          static Connection con;
          static Statement stmt;
      
          void init() {
              try {
                  Class.forName("org.sqlite.JDBC");
                  con = DriverManager
                          .getConnection("jdbc:sqlite:database.sqlite");
                  if (!con.isClosed()) {
                      stmt = con.createStatement();
                      stmt.executeUpdate("create table if not exists item (id integer primary autoincrement, value varchar(100) not null");
                  }
              } catch (ClassNotFoundException | SQLException e) {
                  e.printStackTrace();
              }
          }
      
          static boolean insertRecord(String item) {
              try {
                  if (stmt.executeUpdate("insert into item (value) values('"
                          + item + "')") > 0)
                      return true;
              } catch (SQLException e) {
                  e.printStackTrace();
              }
              return false;
            }
          }
      

      【讨论】:

      • 可以为Db连接添加close语句
      猜你喜欢
      • 2020-10-13
      • 1970-01-01
      • 2014-01-21
      • 2013-05-24
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多