Das hier wirft mir eine SQLException, obwohl ich eigentlich alles so gemacht habe, dass es funktionieren sollte. Woran kann das liegen? Habe mal getestet und bin zum Schluss gekommen, dass diese Exception das erste Mal mit der Zeile
stmt.execute("DROP TABLE ADRESSEN");
geworfen wird.
Ich habe in Windows XP unter Verwaltung eine Datenbank mit dem Treiber "Microsoft Access-Treiber (*.mdb)" erstellt und sie "Adressen.mdb" genannt. Diese mdb-Datei befindet sich im gleichen Verzeichnis, wie mein Quellcode.
Wo kann mein Fehler liegen?
stmt.execute("DROP TABLE ADRESSEN");
geworfen wird.
Code:
Connection con = null;
// Verbindung aufbauen
String URL="jdbc:odbc:Adressen";
String username = "";
String password = "";
// Treiber laden
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Verbindung zu ODBC herstellen
con = DriverManager.getConnection(URL,username,password);
//Tabelle erstellen
Statement stmt = con.createStatement();
//SQL Exception wird hierbei geworfen
stmt.execute("DROP TABLE ADRESSEN");
stmt.execute("CREATE TABLE ADRESSEN (Name VARCHAR (50), Nr INTEGER CONSTRAINT" + "Nr PRIMARY KEY)");
// Einträge einfügen
stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr Knast', 23)");
stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr JVA', 24)");
stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr Arbeitslager', 25)");
// Einträge anzeigen
ResultSet rs = stmt.executeQuery("SELECT * FROM ADRESSEN");
while (rs.next()) {
String Name = rs.getString("Name");
int Nr = rs.getInt("Nr");
eintrag.setText("Name:" + Name + "Nr: " + Nr + "\n");
}
// Datenbank schließen
con.close();
}
catch (SQLException sqle) {
System.out.println("SQL Exception while trying to open/create ODBC DB!");
}
catch (ClassNotFoundException cnf){
System.out.println("Class not found while trying to open DBASE!");
}
Ich habe in Windows XP unter Verwaltung eine Datenbank mit dem Treiber "Microsoft Access-Treiber (*.mdb)" erstellt und sie "Adressen.mdb" genannt. Diese mdb-Datei befindet sich im gleichen Verzeichnis, wie mein Quellcode.
Wo kann mein Fehler liegen?