【问题标题】:How to stop the second query to run when the first query is not executable in java当第一个查询在java中不可执行时如何停止第二个查询运行
【发布时间】:2017-09-24 15:47:51
【问题描述】:

我只是将 MySql 数据库连接到我的 java GUI 的新手,我遇到了这个问题。在一个按钮中,我有两个查询,当第一个查询不可执行时,我希望第二个查询不运行。

这是我的按钮操作:

private void addActionPerformed(java.awt.event.ActionEvent evt) {                                    
        theQuery("INSERT INTO `deliv`(`prod_code`, `client`, `address`,`quantity`,`delivery_date`,`deliv_code`) VALUES ('"+prodC.getText()+"','"+client.getText()+"','"+address.getText()+"','"+quantity.getText()+"','"+delivdate.getText()+"','"+delivCode.getText()+"')");
        theQuery("Update product_list set prod_stock=prod_stock-'"+quantity.getText()+"'where b.prod_code="+prodC.getText());
        this.setVisible(false);
        new adminLogin().setVisible(true);
    }

这是我的theQuery 能够执行命令:

public void theQuery(String query){
      Connection con = null;
      Statement st = null;
      try{
          con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/dbsystem","root","");
          st = con.createStatement();
          st.executeUpdate(query);
          JOptionPane.showMessageDialog(null,"Success!");
      }catch(Exception ex){
          JOptionPane.showMessageDialog(null,ex.getMessage());
      }
  }

请帮帮我

【问题讨论】:

  • 请重新表述您的问题 - 这是无法理解的
  • 并且当该按钮中的第一个查询不可执行时,如果第二个查询中的查询是可执行的,则它不会在第二个查询仍在执行时执行 - 否知道这意味着什么
  • 现在已编辑,先生

标签: java mysql


【解决方案1】:

由于您似乎正在接受用户输入并将其存储到数据库中,因此我强烈建议您使用准备好的语句来处理您的查询。您可以按照here 给出的答案,然后查看上面的用户代码,以验证该语句确实成功。此外,在代码中使用准备好的语句时,让方法返回一个整数,然后在完成时从 executeUpdate() 返回值,然后使用 if 语句查看该值是否大于 0 ,如果是,则查询成功(此处成功意味着它影响了 1 行或更多行)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 2021-02-27
    • 2016-08-02
    • 2014-12-02
    • 1970-01-01
    • 2019-05-05
    • 2017-06-20
    相关资源
    最近更新 更多