有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从数据库检索数据并使用JcomboBox显示

我希望能够从数据库中选择一个数据,并使用组合框显示它

我有以下代码,但它不显示组合框中的数据。我确实意识到显示数据的代码缺失,并且我的SQL语句不正确。我只是不确定我能做些什么,任何建议都是值得赞赏的

试一试{ 语句st=db。骗局createStatement(); 结果集rs=st.executeQuery(“从项目中选择名称、大小和价格,其中Name=“+comboBox_1.getToolkit())

                JOptionPane.showMessageDialog(frame, "displayed");

                while (rs.next()) {
                    String name  = rs.getString("Name");
                    String size  = rs.getString("size");
                    String price  = rs.getString("price");
                    textArea_Name.append(name);
                    textArea_size.append(size);
                    textArea_price.append(price);
                    comboBox_1.addItem(rs.getString("Name"));
                    comboBox_1.getSelectedItem();

                }}              


                 catch (SQLException e ) {
                    System.out.println("user not added");
                    e.printStackTrace();
                 }              

            }
        });

共 (5) 个答案

  1. # 1 楼答案

    comb = new JComboBox();
      DefaultComboBoxModel dftm = (DefaultComboBoxModel) comb.getModel();
        ArrayList<stock_data> list = userLists();
         row = new Object[1];
        for (int i = 0; i < list.size(); i++) {
            row[0] = list.get(i).get_item();
            dftm.addElement(row);
            // comb.setModel(dftm);
        }
    

    然后创建你的方法,还记得你需要一个stock_数据类

    private ArrayList<stock_data> userLists() {
        try {
    
            connection = localhost.dbConnector();
            ArrayList<stock_data> usersList = new ArrayList();
            try {
                String query = "Select * from itemlist";
                Statement st = connection.createStatement();
                ResultSet rs = st.executeQuery(query);
                stock_data users;
                while (rs.next()) {
                    // users = new stock_data(rs.getString("name"));
                    // usersList.add(users);
                    comb.addItem(rs.getString("name"));
    
                }
                rs.close();
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "blah blah");
                e.printStackTrace();
            }
            return usersList;
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        return null;
    }
    
  2. # 2 楼答案

    try {  
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
    
    Connection conn= DriverManager.getConnection("jdbc:odbc:driverName");  
    Statement st = conn.createStatement();
    
     ResultSet r=st.executeQuery("select * from tableName");
    
     while (r.next()) {  
    
         JComboBox.addItem(r.getString("Key_Coloumn_Name"));  
     }
    
    
        conn.close();
        } catch (Exception e) {  
    JOptionPane.showMessageDialog(null,"Failed to Connect to Database","Error Connection", JOptionPane.WARNING_MESSAGE);  
    System.exit(0);  
    }  
    
  3. # 3 楼答案

            try {
                 Statement stmt = db.con.createStatement();
            ResultSet rs = stmt5.executeQuery("select * from tbl_your_table");
            while (rs.next()) {
                String pat = rs.getString("name");
                jComboBox.addItem(pat);
            }
    
        } catch (Exception e) {
    
            JOptionPane.showMessageDialog(null, e);
        }
    
  4. # 4 楼答案

        con = DriverManager.getConnection("jdbc:mysql://:3306/database","user","password");
        stat = con.createStatement();
        ResultSet rs = stat.executeQuery("select name from student;");
        while(rs.next()){
            jComboBox1.addItem(rs.getString("name"));
            }
        rs.close();
        stat.close();
        con.close();