如何在Java中单击下一个和上一个按钮时显示下一个和上一个记录?

时间:2013-04-08 19:46:42

标签: java swing jdbc jbutton

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

  pst=conn.prepareStatement("select * from questions where subject= ?");
            pst.setString(1, "websites");
            rs=pst.executeQuery();
   while(rs.next())
            {

                 qs=rs.getString("question");
                 option1=rs.getString("option1");
                 option2=rs.getString("option2");
                 option3=rs.getString("option3");
                 txt_quest.setText(qs);
                jcb_opt1.setText(option1);
                jcb_opt2.setText(option2);
                jcb_opt3.setText(option3);

       }
    catch(Exception ex)
    {
        JOptionPane.showMessageDialog(null, ex);
    }
            }

我希望点击next按钮以及点击previous按钮的上一行,从表中获取下一行。有没有简单的方法呢??

2 个答案:

答案 0 :(得分:1)

你不应该在一个方法中“从问题中选择”,你只想获得rs.next()。如果你想获得rs.previous(),你会再次“选择*”吗? 将您的选择放在程序的开头。

对于精心设计的 cmd_nextActionPerformed ,您需要考虑三种情况:

  1. 您的数据库表为空,或只有一个条目。在这种情况下,应该禁用下一个按钮,因为没有下一个条目。

  2. 您有下一个条目。获取数据并刷新JTextField。应启用下一步按钮。

  3. 你在最后。在rs.next()检查之后,如果rs.isAfterLast()返回true,那么你需要转到rs.last()并保持原样。应禁用下一步按钮。

  4. 好消息是 cmd_previousActionPerformed 是对称的。

答案 1 :(得分:0)

接下来,

rs.next()

以前的,

rs.previous();