有 Java 编程相关的问题?

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

如何在java中滚动浏览mysql数据库

我正在尝试滚动数据库的所有内容。我如何正确地做到这一点:

conc conclass = new conc();
        Connection conn = conclass.dbConnect();
        try{


       Statement statement=conn.createStatement();
        ResultSet rs;
        String sql;
        rs=statement.executeQuery("SELECT * FROM q_table");

        if(rs.next()){
        String yo=rs.getString("Question");
        jTextArea1.setText(yo);
        }





        }catch(Exception e){e.printStackTrace();}

下面是我连接数据库的课程:

 public Connection dbConnect() {
    try {
        String db_connect_string="jdbc:mysql://localhost:3306/questions";
        String db_userid="root";
        String db_password="1234";
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);


        return conn;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

我的代码有什么问题?当我单击滚动按钮时,它将加载第一条记录。但当我再次点击它时。它一点作用也没有


共 (2) 个答案

  1. # 1 楼答案

    要从表中收集所有结果(我假定您指的是表而不是整个数据库):

    while(rs.next()) {
       String yo=rs.getString("Question");
       // add 'yo' to a list or similar...
    }
    

    您需要在ResultSet上进行迭代。ResultSet按顺序滚动从数据库返回的每一行。有关更多详细信息,请参见this example

  2. # 2 楼答案

    您需要保持Resultset打开。每次单击按钮,都必须调用rs.next()一次。之后,一个新行将被复制到ResultSet