下面的SQL查询返回null-JAVA gui
我正在尝试使用供应商数据库创建swing应用程序。然而,由于某些原因,下面的SQL查询返回null。如果在数据库中找不到增值税编号,则此查询应创建供应商帐户。这一错误背后的原因可能是什么 我的代码:下面的SQL查询返回null-JAVA gui,java,mysql,user-interface,Java,Mysql,User Interface,我正在尝试使用供应商数据库创建swing应用程序。然而,由于某些原因,下面的SQL查询返回null。如果在数据库中找不到增值税编号,则此查询应创建供应商帐户。这一错误背后的原因可能是什么 我的代码: public void actionPerformed(ActionEvent e) { try { String vName = vendorField.getText(); String adress = adressField.getText();
public void actionPerformed(ActionEvent e) {
try {
String vName = vendorField.getText();
String adress = adressField.getText();
String country = (String) countryField.getSelectedItem();
String vat = vatField.getText();
String pTerms = ptermsField.getText();
String iban = ibanField.getText();
String myDriver = "com.mysql.jdbc.Driver";
String myUrl = "jdbc:mysql://localhost:3306/masterdata_db?autoReconnect=true&useSSL=false";
Connection conn = DriverManager.getConnection(myUrl, "root", "");
Statement st = conn.createStatement();
ResultSet resultSet;
String check = "SELECT * FROM vendorcreation WHERE VAT = '"+vatField.getText()+"'";
resultSet = st.executeQuery(check);
boolean status = true;
if(resultSet.next()!=status){
String sql1 = "INSERT INTO vendorcreation"
+ "(VendorName, Adress, VAT, PaymentTerms, IBAN, Country) VALUES"
+ "(?,?,?,?,?,?)";
PreparedStatement pSt2=conn.prepareStatement(sql1);
pSt2.setString(1, vName);
pSt2.setString(2, adress);
pSt2.setString(3, vat);
pSt2.setString(4, pTerms);
pSt2.setString(5, iban);
pSt2.setString(6, country);
pSt2.executeUpdate(sql1);
JOptionPane.showMessageDialog(frame, "VENDOR ACCOUNT CREATED!");
} else {
JOptionPane.showMessageDialog(frame, "VENDOR ALREADY EXISTS!", "Inane error",JOptionPane.ERROR_MESSAGE);
}
} catch (Exception e1) {
System.err.println("AN ERROR OCCURRED! PLEASE CONTACT YOUR SYSTEM ADMINISTRATOR.");
System.err.println(e1.getMessage());
}
}
Change=在select语句中类似
String check = "SELECT * FROM vendorcreation WHERE VAT LIKE '"+vatField.getText()+"'";
下面的SQL查询返回null这到底意味着什么?在控制台中,我得到一个null值作为错误消息。用e1.printStackTrace替换无用的消息,您就会知道实际的问题是什么。打印东西和返回东西之间有很大的区别。使用适当的术语。请使用准备好的语句将参数传递给查询,而不是串联。不幸的是,更改为LIKE时仍然会收到相同的错误。