Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 如何检查输入是否在数据库中?_Java - Fatal编程技术网

Java 如何检查输入是否在数据库中?

Java 如何检查输入是否在数据库中?,java,Java,我的JFrame取消了机票。 我允许用户输入存储在数据库中的票证id和电话号码,但我的问题是如何检查此票证是否在数据库中!如果你知道,请告诉我 这是我的密码 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String Ticket_ID=CardNumberTF.getText(); String phon

我的JFrame取消了机票。 我允许用户输入存储在数据库中的票证id和电话号码,但我的问题是如何检查此票证是否在数据库中!如果你知道,请告诉我

这是我的密码

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
  String Ticket_ID=CardNumberTF.getText();
    String phone=CardNumberTF1.getText();
 if(Ticket_ID.isEmpty()&& phone.isEmpty()){
 JOptionPane.showMessageDialog(null, "Please full the fields ");}

 else if(Ticket_ID.isEmpty() || phone.isEmpty()){
JOptionPane.showMessageDialog(null, "Please full the empty field  ");}

try{
 con=DriverManager.getConnection(URL,"iau","iau");
 prepared=con.prepareStatement("Delete from BOOKING_INFO WHERE ID_TICKET=? AND PHONE_NUM=?");
 prepared.setString(1,Ticket_ID );
 prepared.setString(2,phone );
 prepared.executeUpdate();
  JOptionPane.showMessageDialog(null,
 "deleted","delete",JOptionPane.PLAIN_MESSAGE);
       }catch(SQLException ex){
     JOptionPane.showMessageDialog(null, 
     "we don't have this ticket id", "Failed",JOptionPane.ERROR_MESSAGE);
       System.out.print(ex);
    }

 private void connect(){
        try{
            con=DriverManager.getConnection(URL, "iau","iau");
        }catch(SQLException ex){
            JOptionPane.showMessageDialog(null,ex);
        }}

与您正在执行的
delete语句相同
prepared=con.prepareStatement(“从预订信息中删除,其中ID\u TICKET=?和PHONE\u NUM=?”,例如:

boolean ticketExists = false;
prepared=con.prepareStatement("Select * BOOKING_INFO WHERE ID_TICKET=? AND PHONE_NUM=?");
prepared.setString(1, Ticket_ID);
prepared.setString(2, phone)

ResultSet result = prepared.executeQuery();

while (result.next()) {
   // this means that there is ticket, because the result is NOT NULL
   // set ticketExists to true
   ticketExists = true;
}

`

尝试从数据库中读取它。但在删除它之前,您不应该检查它是否存在,因为即使它存在,其他人也可能会删除它,因此当您尝试删除它时,它可能不再存在。您可以查询数据库并在列表框中显示所有有效ID,以供用户选择,而不是让用户输入票证ID。不过,在您填充列表和用户尝试删除之间,仍有人可以删除票据。也就是说,你是说我应该写select而不是delete查询吗?这取决于你想要实现什么,但我的业务逻辑是:首先选择它并检查它是否存在于数据库中,如果不存在,将它插入数据库中,否则如果它已经存在于数据库中:通知用户!