有 Java 编程相关的问题?

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

在Java中通过点击按钮从MySQL数据库检索数据并在表单中导航

我编写了一个按钮/侦听器,用于导航上一页

上一个按钮动作执行代码如下

private void PreviousBtnActionPerformed(java.awt.event.ActionEvent evt) {                                            
    try{
       String sql = "select ItemID,ItemName from druginfo";
       pst=conn.prepareStatement(sql);
       rs=pst.executeQuery();
       while(rs.next()){ 
       String id = rs.getString("ItemID");
       String name = rs.getString("ItemName");

       if(evt.getSource()==PreviousBtn){
           if(rs.previous()){
               if(rs.isFirst()){
                   PreviousBtn.setEnabled(false);
                   NextBtn.setEnabled(true);
               }
               IDcombo.addItem(id);
               Namecombo.addItem(name);
           }
       }
    }
    }catch(Exception e){
       e.printStackTrace();
    }
}

问题是,当我按下“上一步”按钮时,我的窗口卡住了(因此无法运行代码)。我在这里犯了什么错误吗


共 (1) 个答案

  1. # 1 楼答案

    我认为问题在于你不能使用rs.previous()方法,这是导致问题的原因

    尝试用下面的行创建语句

    pst = conn.prepareStatement(sql,
            ResultSet.TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_READ_ONLY);
    

    希望有帮助:)