2017-12-03 1 views
0

Ich versuche, eine Swing-Anwendung mit Kreditor-Datenbanken zu erstellen. Die folgende SQL-Abfrage gibt aus irgendeinem Grund null zurück. Diese Abfrage sollte ein Lieferantenkonto erstellen, wenn die Umsatzsteuernummer nicht in der Datenbank gefunden wird. Was könnte der Grund für diesen Fehler sein?SQL-Abfrage unter gibt null zurück - JAVA gui

Mein Code:

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()); 
    } 
} 
+0

* SQL-Abfrage unter dem Wert null zurück * was genau bedeutet das? –

+0

In der Konsole bekomme ich "NULL" -Wert als Fehlermeldung. – BlockeeR

+0

Ersetzen Sie Ihre nutzlose Nachricht durch 'e1.printStackTrace()', und Sie werden wissen, was das eigentliche Problem ist. (Es gibt einen großen Unterschied zwischen dem Drucken von etwas und der Rückgabe von etwas. Verwenden Sie die entsprechende Terminologie. Und bitte verwenden Sie vorbereitete Anweisungen, um Parameter an eine Abfrage zu übergeben, anstatt Verkettung). –

Antwort

-1

Change "=" in select-Anweisung "wie",

String check = "SELECT * FROM vendorcreation WHERE VAT LIKE '"+vatField.getText()+"'"; 
+0

Leider erhalten immer noch den gleichen Fehler beim Wechsel auf LIKE. – BlockeeR