Java 向JComboBox添加数据库列
我到处寻找这个问题的答案,但没有结果。当我编译它时,它只返回数据库中表的最后一行,而不是我所期望的整个列的列表。我相信问题就在这里。。如果我能把那个专栏里的所有东西都列出来,我将非常感谢你的帮助Java 向JComboBox添加数据库列,java,sql,swing,while-loop,jcombobox,Java,Sql,Swing,While Loop,Jcombobox,我到处寻找这个问题的答案,但没有结果。当我编译它时,它只返回数据库中表的最后一行,而不是我所期望的整个列的列表。我相信问题就在这里。。如果我能把那个专栏里的所有东西都列出来,我将非常感谢你的帮助 String query = "SELECT contact_id, first_name, last_name FROM my_contacts"; ResultSet rs = statement.executeQuery(query); while (rs.next()) { Syste
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
当我编译它时,它只返回表中的最后一行
数据库,而不是我所期望的整个列的列表。我相信
问题就在这里
- 您的代码在
while(rs.next()){
- 创建
作为局部变量,然后只需将JComboBox
while循环中的
项添加到已经存在并初始化的实例中即可
- 最好的方法是对
添加
/
删除
/
修改
JComboBox
- 您的代码在
while(rs.next()){
- 创建
作为局部变量,然后只需将JComboBox
while循环中的
项添加到已经存在并初始化的实例中即可
- 最好的方法是对
添加
/
删除
/
修改
JComboBox
- 使用此代码启动并运行了所有程序
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();
}
使用此代码启动并运行所有内容
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();
}
如果在dbms控制台中执行相同的查询,会得到几行?因为代码似乎有效,可能指向了错误的架构。能否验证连接属性是否设置为要查找的数据库?连接属性设置良好,System.out.println(rs.getString(2)+“”+rs.getString(3));实际返回的是预期的整个列,因此我想知道为什么组合框不返回相同的结果如果在dbms控制台中执行相同的查询,则会得到几行?由于代码似乎有效,可能指向了错误的架构。能否验证连接属性是否设置为要查找的数据库?cConnection属性设置得很好,System.out.println(rs.getString(2)+“”+rs.getString(3));实际上会按预期返回整个列,所以我想知道为什么组合框不会返回相同的结果