Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中通过点击按钮从MySQL数据库检索数据并在表单中导航_Java_Mysql_Swing - Fatal编程技术网

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

在Java中通过点击按钮从MySQL数据库检索数据并在表单中导航,java,mysql,swing,Java,Mysql,Swing,我编写了一个按钮/侦听器,用于导航上一页 上一个按钮动作执行代码如下 private void PreviousBtnActionPerformed(java.awt.event.ActionEvent evt) { try{ String sql = "select ItemID,ItemName from druginfo"; pst=conn.prepareState

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

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

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();
    }
}

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

我认为问题在于您无法使用导致问题的
rs.previous()
方法

尝试创建具有以下行的语句

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

希望有帮助:)

您在控制台上遇到任何异常情况吗?1)要更快获得更好的帮助,请发布一个(最小完整可验证示例)或(简短、自包含、正确的示例)。2) 请学习常见的Java命名法(命名约定-例如
EachWordUpperCaseClass
firstWordLowerCaseMethod()
firstWordLowerCaseAttribute
,除非它是
大写常量
),并一致使用它。3) 使用缩进代码行和代码块的逻辑和一致形式。缩进的目的是使代码的流程更易于遵循!事实上,我认为,如果上面的(不可编译的)代码(片段)缩进得更符合逻辑,那么就可以清楚地表明循环和测试是“互相争斗”的!的Java文档(您在回答之前应该查阅这些文档)建议它抛出一些有用的(或至少是信息丰富的)异常,这些异常会在失败时转储堆栈跟踪(给定上述代码)。@Vishal Zanzrukia的结果是一样的。.只是卡住了窗口。。也没有例外:(你说的窗户卡住是什么意思?@Vishal Zanzrukia窗户里什么也没发生..我也关不上它:(