So ich habe auch nochmal ein par Fragen zu der DB.
Ich habe versucht die ID als rückgabewert zu bekommen, soblad ich ein neuen Datensatz einfüge. Nur leider geht jetzt gar nichts mehr mit folgender Fehlermeldung:
Mein Code:
Ich habe versucht die ID als rückgabewert zu bekommen, soblad ich ein neuen Datensatz einfüge. Nur leider geht jetzt gar nichts mehr mit folgender Fehlermeldung:
Und wie kann ich nur das Datum in einer Access Datenbank speichern?Exception in thread "main" java.sql.SQLException: Invalid Cursor Type.
at sun.jdbc.odbc.JdbcOdbcStatement.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown Source)
at Datenbank.HDR_Datenbank.openDB(HDR_Datenbank.java:17)
at Datenbank.HDR_Datenbank.main(HDR_Datenbank.java:60)
Mein Code:
Code:
package Datenbank;
import java.sql.*;
import java.util.Date;
import java.util.Vector;
public class HDR_Datenbank {
private static Connection con;
private static Statement stmt;
private static ResultSet rs;
// Methode zum Verbinden mit der Herr der Ringe Datenbank
public static void openDB() throws SQLException, ClassNotFoundException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager
.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=resourcen/hdr.mdb");
stmt = con.createStatement(Statement.CLOSE_ALL_RESULTS, Statement.RETURN_GENERATED_KEYS);
}
// Methoden zur Abfrage der Optionen
public static String[] abfrageOptionen() {
try {
rs = stmt.executeQuery("SELECT * FROM Optionen");
ResultSetMetaData rsmd = rs.getMetaData();
int clmCnt = rsmd.getColumnCount();
String[] erg = new String[clmCnt];
while(rs.next()){
for(int i = 0; i < erg.length; i++){
erg[i] = rs.getString(i+1);
}
}
return erg;
} catch (SQLException e) {
System.out.println("Fehler beim laden der Datenbank!");
e.printStackTrace();
return null;
}
}
// Methode zum hinzufügen eines neuen Profils
public static void addNewProfil(String name){
try {
Date date = new Date();
System.out.println(date);
int key = -1;
stmt.execute("INSERT INTO Profil VALUES ('"+name+"','0','0','"+date+"','"+date+"'))", key);
System.out.println("Key: " + key);
stmt.executeUpdate("UPDATE Optionen SET LastProfil = " + key);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Fehler beim laden der Datenbank!");
}
}
public static void closeDB() throws SQLException {
rs.close();
stmt.close();
con.close();
}
public static void main(String argv[]) throws SQLException, ClassNotFoundException{
HDR_Datenbank.openDB();
HDR_Datenbank.addNewProfil("Test");
HDR_Datenbank.closeDB();
}
}