0
공급 업체 데이터베이스를 사용하여 스윙 응용 프로그램을 만들려고합니다. Howewer 아래의 SQL 쿼리는 어떤 이유로 든 null을 반환합니다. 이 쿼리는 VAT 번호가 데이터베이스에없는 경우 공급 업체 계정을 만들어야합니다. 이 오류의 원인은 무엇일까요?아래의 SQL 쿼리는 null을 반환합니다. - JAVA gui
내 코드 :
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());
}
}
이 * SQL 쿼리는 * 정확히 무슨 뜻 이죠 NULL, "LIKE"select 문에서하는? –
콘솔에서 "NULL"값을 오류 메시지로받습니다. – BlockeeR
쓸모없는 메시지를'e1.printStackTrace()'로 바꾸면 실제 문제가 무엇인지 알 수 있습니다. (뭔가를 인쇄하고 뭔가를 반환하는 것과는 큰 차이가 있습니다. 적절한 용어를 사용하고 준비된 명령문을 사용하여 연결 대신 매개 변수를 쿼리에 전달하십시오.) –