Java 如何检查输入是否在数据库中?
我的JFrame取消了机票。 我允许用户输入存储在数据库中的票证id和电话号码,但我的问题是如何检查此票证是否在数据库中!如果你知道,请告诉我 这是我的密码Java 如何检查输入是否在数据库中?,java,Java,我的JFrame取消了机票。 我允许用户输入存储在数据库中的票证id和电话号码,但我的问题是如何检查此票证是否在数据库中!如果你知道,请告诉我 这是我的密码 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String Ticket_ID=CardNumberTF.getText(); String phon
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查询吗?这取决于你想要实现什么,但我的业务逻辑是:首先选择它并检查它是否存在于数据库中,如果不存在,将它插入数据库中,否则如果它已经存在于数据库中:通知用户!