Hallo zusammen,
ich habe die Aufgabe, ein Java Programm zu schreiben, das mit einer MySQL-Datenbank interagieren soll. Einen Client halt.
Eigentlich komm ich glaub ganz gut damit zurecht, nur häng ich gerade an einer Stelle und ich hoffe, ihr könnt mir weiterhelfen.Also folgendes:
Ich habe eine Methode geschrieben, die eine neue Addresse anlegen soll:
Wenn ich die Methode nun teste, bekomm ich immer den Fehler
SQLException: Column count doesn't match value count at row 1
SQLState: 21S01
VendorError: 1136
Wenn ich allerdings das SQL-Statement direkt in die SQL-Workbench eingebe, funktioniert es.
Könnte mir einer sagen, wo das Problem liegt? Was übersehe ich?
Vielen Dank schon mal.
Gruß
Eddie
PS: zu der Tabelle "address" gehört noch eine Spalte "address_ID". Die ist allerdings Auto-Increment und müsste daher ja eigenltich automatisch mit dem richtigen Wert befüllt werden. Ich hoffe und denke, dass das auch über das Java-Programm funktioniert...
ich habe die Aufgabe, ein Java Programm zu schreiben, das mit einer MySQL-Datenbank interagieren soll. Einen Client halt.
Eigentlich komm ich glaub ganz gut damit zurecht, nur häng ich gerade an einer Stelle und ich hoffe, ihr könnt mir weiterhelfen.Also folgendes:
Ich habe eine Methode geschrieben, die eine neue Addresse anlegen soll:
Java:
public void createAddress (String street, String houseNumber, String city, String postcode, String state,
String country, String phoneNumber, String mobileNumber, String faxNumber, String eMail){
DbConnection conn1 = new DbConnection();
conn = conn1.buildConnection();
try {
statement = conn.createStatement();
String prep = "INSERT INTO address " +
"(street,house_number,city,postcode,state,country,phone_number,mobile_number,fax_number,email_address)"+
"VALUES ('"+street+"','"+houseNumber+"','"+city+"','"+postcode+"','"+state+"','"+
country+"','"+phoneNumber+"','"+mobileNumber+","+faxNumber+"','"+eMail+"')";
statement.executeUpdate(prep);
conn.close();
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
SQLException: Column count doesn't match value count at row 1
SQLState: 21S01
VendorError: 1136
Wenn ich allerdings das SQL-Statement direkt in die SQL-Workbench eingebe, funktioniert es.
Könnte mir einer sagen, wo das Problem liegt? Was übersehe ich?
Vielen Dank schon mal.
Gruß
Eddie
PS: zu der Tabelle "address" gehört noch eine Spalte "address_ID". Die ist allerdings Auto-Increment und müsste daher ja eigenltich automatisch mit dem richtigen Wert befüllt werden. Ich hoffe und denke, dass das auch über das Java-Programm funktioniert...