gpt4 book ai didi

java - 无法将数据库数据填充到 jcombobox 中

转载 作者:行者123 更新时间:2023-12-01 20:19:47 27 4
gpt4 key购买 nike

我无法使用数据库数据填充JComboBox。这是我用数据库数据填充组合框的代码。我能够连接到数据库。 catch block 用于显示错误消息。发生的情况是错误消息没有弹出,当我的应用程序运行时,组合框为空。这是我的数据库表,我想将名称填充到组合框中。

image

    package testing;

import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;

public class combobox extends JFrame {

/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private static JComboBox combobox_database;
static Connection conn = null;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
sqliteconnection.dbConnector();
fillcombobox();
combobox frame = new combobox();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public combobox() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 619, 524);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JComboBox combobox_database = new JComboBox();
combobox_database.setBounds(208, 87, 175, 22);
contentPane.add(combobox_database);
}

public static void fillcombobox(){
try{
String sql = "SELECT name FROM testing_table";
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();

while(rs.next()){
String s = rs.getString(2);
combobox_database.addItem(s);

}

pst.close();
rs.close();
conn.close();

}catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}

}

}

最佳答案

您的查询选择单个属性 name,因此相关的 columnIndex 传递到 getString()应为 1

while(rs.next()) {
String s = rs.getString(1);
combobox_database.addItem(s);
}

如上所述here ,您还可以使用columnLabel ;显示了完整的示例 here ;这相关example使用 JPA。

关于java - 无法将数据库数据填充到 jcombobox 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45108177/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com