Access-Verbindung

Java-Problems

Bekanntes Mitglied
Hallo zusammen,

ich mach nen Update-Befehl auf eine Datenbank, welcher Syntaktisch korrekt ist, da er im SQL-Editor von MS Access 2007 einwandfrei funktioniert.
Da ich keine 14000 Updates von Hand eintippen will, wollte ich eine Java-Schleife schreiben und bekomme nun folgenden Fehler zurück:

Java:
UPDATE Kundenbezüge12_07_10 SET Datum2 = "02-03-2009" WHERE ID = 1
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
	at Connection2.main(Connection2.java:96)

Ausschnitte aus dem Quellcode:
[Java]
connect = build1.open()
Statement stmt = connect.createStatement();
--> hier würde die Schleife mit nem Select etc. beginnen, aber dort liegt nicht der Fehler!
String sql = "UPDATE Kundenbezüge12_07_10 SET Datum2 = \""+ datum_neu + "\" WHERE ID = " + id;
System.out.println(sql);
int updateCount = stmt.executeUpdate(sql); //<-- hier wird mir der Fehler immer angezeigt!
--> hier wäre die Schleife zu Ende
build1.close(connect);

[/Java]

[Java]
public class Build {

public Connection open(){
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// set this to a MS Access DB you have on your machine
String filename = "C:/Users/testUserl/Desktop/Kundenstamm.mdb";
String database = "jdbc😱dbc😀river={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=false}";
//database+= filename.trim() + ";DriverID=22}";

con = DriverManager.getConnection(database,"","");
}
catch (Exception e) {
System.out.println("Error: " + e);
}

return con;
}

public void close(Connection con){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/Java]
 
versuch mal:

Java:
 String sql = "UPDATE Kundenbezüge12_07_10 SET Datum2 = '"+ datum_neu + "' WHERE ID = " + id;

und in datum_neu und id sind auch richtige und korrekte Werte?
 
Zuletzt bearbeitet:
Java:
 String sql = "UPDATE Kundenbezüge12_07_10 SET Datum2 = '"+ datum_neu + "' WHERE ID = '" + id +"'";

Bitteschön - Müsste so funktionieren 🙂
 
Zuletzt bearbeitet:

Zurück
Oben