当数据库表没有记录时,阻止ResultSet触发弹出窗口

时间:2019-05-18 12:39:17

标签: java sql

我打算在特定表有记录且该表中没有记录时创建弹出窗口,该弹出窗口将停止显示。 弹出窗口将通知用户已完成的任务(记录条目),并且当用户确认他已经看到这些记录时,该记录将被删除,并且直到有记录输入时,弹出窗口才会显示再次在表格中进行确认。

我使用ScheduledExecutorService为该方法创建了一个运行时,其中此代码必须每10秒检查一次ResultSet中的记录,如果没有记录,则不会触发该方法。

try{
    String sql="select * from confirm_purchase";
    pst=con.prepareStatement(sql);
    rs=pst.executeQuery();
    if(rs.first()){
     Runnable runnable = new Runnable() {
         @Override
         public void run() {
             int d2 = JOptionPane.showConfirmDialog(null,"new purchased item(s) have been recorded.\ndo you wish to view them?","view current items purchased",JOptionPane.YES_NO_OPTION);
             if(d2==0){
                 confirmItemPurchase cip = new confirmItemPurchase();
                 cip.setVisible(true);
             }
         }
     };
   ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); 
   service.scheduleAtFixedRate(runnable, 0, 10, TimeUnit.SECONDS); 
    }else{
    System.out.println("no data yet");
    }

    }catch(Exception e){
    JOptionPane.showMessageDialog(null,e);
    }finally{
    try{
    rs.close();
    pst.close();
    }
    catch(Exception e){
      }
    }

此代码可以正常工作,并显示弹出窗口。但是当清除表中的记录时,仍会显示弹出窗口。

当表中没有记录时,如何阻止弹出窗口显示。

0 个答案:

没有答案