Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向JComboBox添加数据库列_Java_Sql_Swing_While Loop_Jcombobox - Fatal编程技术网

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));实际上会按预期返回整个列,所以我想知道为什么组合框不会返回相同的结果