我一直在寻找答案,但无济于事。当我编译它时,它只返回数据库中我的表的最后一行,而不是我期望的整个列的列表。我相信这个问题来自这里..如果我能列出该栏目中的所有内容,我将非常感谢你的帮助。
String query = "SELECT contact_id, first_name, last_name FROM my_contacts";
ResultSet rs = statement.executeQuery(query);
while (rs.next())
{
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3));
String name = rs.getString(2) + " " + rs.getString(3);
names = new JComboBox();
names.addItem(rs.getString("first_name"));
}//end while
答案 0 :(得分:3)
当我编译它时,它只返回我表中的最后一行 数据库,而不是我期望的整个列的列表。我相信 问题出在这里..
while (rs.next())
{
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3));
String name = rs.getString(2) + " " + rs.getString(3);
names = new JComboBox();
names.addItem(rs.getString("first_name"));
}
您的代码在JComboBox
while (rs.next()){
的新实例
创建JComboBox
作为本地变量,然后只需将Items
中的while-loop
添加到已存在且已初具化的实例
最好的方法是使用DeafultComboBoxModel
add
/ remove
/ modify
JComboBox
答案 1 :(得分:0)
使用此代码完成所有操作。
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/recall", "username", "password");
Statement statement = connection.createStatement();
String query = "SELECT * FROM names";
ResultSet rs = statement.executeQuery(query);
while (rs.next())
{
String name = rs.getString("name");
names.addItem(rs.getString("name"));
}//end while
connection.close();
} catch (Exception e) {
e.printStackTrace();
}