0

我正在关注有关在 Netbeans 中创建数据库的本教程:http: //www.homeandlearn.co.uk/java/database_scrolling_buttons.html 我的 JPanel 上有一个按钮 Next,它必须调用此方法:

private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {                                        
    try {
        String host = "jdbc:derby://localhost:1527/Employees";
        String uName = "bjorn";
        String uPass= "";
        conN = DriverManager.getConnection( host, uName, uPass );
        stmtN = conN.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
        String SQL = "SELECT * FROM App.Workers";
        rsN = stmtN.executeQuery( SQL );

        if ( rsN.next( ) ) {
            int id_col = rsN.getInt("ID");
            String id = Integer.toString(id_col);
            String first_name = rsN.getString("First_Name");
            String last_name = rsN.getString("Last_Name");
            String job = rsN.getString("Job_Title");

            textID.setText(id);
            textFirstName.setText(first_name);
            textLastName.setText(last_name);
            textJobTitle.setText(job);
        }
        else {
            rsN.previous( );
            JOptionPane.showMessageDialog(Workers.this, "End of File");
        }
    }
    catch (SQLException err) {
        JOptionPane.showMessageDialog(Workers.this, err.getMessage());
    }        // TODO add your handling code here:
}        

此方法必须在 JPanel 上显示数据库的下一个条目,但我无法使其正常工作。有人知道我做错了什么吗?

4

2 回答 2

0

将其声明为 MainStatic Resultset rsN;和以下数据库连接

try 
  {
    String host = "jdbc:derby://localhost:1527/Employees";
    String uName = "bjorn";
    String uPass= "";
    conN = DriverManager.getConnection( host, uName, uPass );
    stmtN = conN.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,  ResultSet.CONCUR_UPDATABLE);
    String SQL = "SELECT * FROM App.Workers";
   Static Resultset rsN = stmtN.executeQuery( SQL );
 }
catch (SQLException err) {
    JOptionPane.showMessageDialog(Workers.this, err.getMessage());
}        // TODO add your handling code here:

在执行的按钮操作中你可以使用这个..

  private void btnNextActionPerformed(java.awt.event.ActionEvent evt)               {                                        

    try
    {
    if ( rsN.next( ) ) {
        int id_col = rsN.getInt("ID");
        String id = Integer.toString(id_col);
        String first_name = rsN.getString("First_Name");
        String last_name = rsN.getString("Last_Name");
        String job = rsN.getString("Job_Title");

        textID.setText(id);
        textFirstName.setText(first_name);
        textLastName.setText(last_name);
        textJobTitle.setText(job);
    }
    else {
        rsN.previous( );
        JOptionPane.showMessageDialog(Workers.this, "End of File");
    }
}
catch (SQLException err) {
    JOptionPane.showMessageDialog(Workers.this, err.getMessage());
}        // TODO add your handling code here:
}        

它的工作尝试这个..

于 2013-04-24T05:49:40.280 回答
0
      PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM  App.Workers",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

        ResultSet rs = pstmt.executeQuery();

    if(rs.next())
       {
      int id_col = rsN.getInt("ID");
        String id = Integer.toString(id_col);
        String first_name = rsN.getString("First_Name");
        String last_name = rsN.getString("Last_Name");
        String job = rsN.getString("Job_Title");

        textID.setText(id);
        textFirstName.setText(first_name);
        textLastName.setText(last_name);
        textJobTitle.setText(job);  

 }
   else
 {
   rs.beforeFirst();
   JOptionPane.showMessageDialog(Workers.this, "End of File");
  }

尝试这个..

于 2013-04-23T05:30:05.290 回答