如何在java中滚动浏览mysql数据库
我正在尝试滚动数据库的所有内容。我如何正确地做到这一点:如何在java中滚动浏览mysql数据库,java,mysql,Java,Mysql,我正在尝试滚动数据库的所有内容。我如何正确地做到这一点: conc conclass = new conc(); Connection conn = conclass.dbConnect(); try{ Statement statement=conn.createStatement(); ResultSet rs; String sql; rs=statement.executeQuery("SE
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;
}
}
while(rs.next()) {
String yo=rs.getString("Question");
// add 'yo' to a list or similar...
}
我的代码有什么问题?当我单击滚动按钮时,它将加载第一条记录。但当我再次点击它时。它根本不起任何作用。要从表中收集所有结果(我假设您指的是表而不是整个数据库):
您需要遍历结果集
。ResultSet
按顺序滚动从数据库返回的每一行。有关更多详细信息,请参阅。从表中收集所有结果(我假设您指的是表而不是整个数据库):
您需要遍历
结果集
。ResultSet
按顺序滚动从数据库返回的每一行。有关更多详细信息,请参阅。您需要保持结果集的打开状态。每次单击按钮,都必须调用rs.next()
一次。之后,一个新行将复制到ResultSet
您需要保持ResultSet
打开。每次单击按钮,都必须调用rs.next()
一次。之后,一个新行将复制到ResultSet
where is scroll按钮中。顺便说一句,最有可能的DB连接已关闭。第一块代码位于jButtonActionPerformed事件内。我想问题是每次我点击按钮时连接都会被更新,这就是为什么我总是看到相同的结果。我的问题是,如果按钮事件中不应该有连接,我将把初始化连接的代码放在哪里。哪里是滚动按钮。顺便说一句,最有可能的DB连接已关闭。第一块代码位于jButtonActionPerformed事件内。我想问题是每次我点击按钮时连接都会被更新,这就是为什么我总是看到相同的结果。我的问题是,如果按钮事件中不应该出现连接,我将把初始化连接的代码放在哪里。我建议不要让ResultSet再打开一段时间。在这种情况下,您可能会侥幸逃脱,但从原则上讲,让ResultSet保持打开状态等待用户操作是错误的。开始时将数据读入内存,然后从内存中迭代数据。@Zds:Agreed;我忘了提到这一点。我建议不要让ResultSet再打开一段时间。在这种情况下,您可能会侥幸逃脱,但从原则上讲,让ResultSet保持打开状态等待用户操作是错误的。开始时将数据读入内存,然后从内存中迭代数据。@Zds:Agreed;我忘了提这个。