Hallo liebe Forumsmitglieder, da ich gerade dabei bin meine OO Base db über hsqldb zu "steuern" und die ersten Sachen schon soweit funktionioniern, wollte ich fragen woran es bei der Einfügen() - Methode hacken könnte den er gibt keinen Fehler aus, aber sie funktioniert dennoch nicht. Alle anderen Methoden klappen einwandfrei. Details zur Datenbank:
Name: db
Tabelle(n) : Stationen (mit Spalten Name = Primärschlüssel[String], Umstiegszeit[INTEGER])
url = ist korrekt;
Hier der Code:
Es wäre nett wenn jemand die Einfügen() Methode auf Fehler prüfen könnte. Möglicherweise ist er ja auch in der SQL aber ich bin mit meinem Latein am Ende, da die anderen Methoden, die auf den selben Schema aufgebaut sind alle funktionieren.
Danke im Voraus.
Mfg MaZeFrJoTh
P.S.: Mir ist gerade aufgefallen das die Datei db.backup nach Zugriff über hsqldb dann db.lck heißt. Ist das Normal??
Name: db
Tabelle(n) : Stationen (mit Spalten Name = Primärschlüssel[String], Umstiegszeit[INTEGER])
url = ist korrekt;
Hier der Code:
Java:
import java.sql.*;
public class DATENBANK{
Statement befehl = null;
Connection verbindung = null;
String url = "jdbc:hsqldb:file:/I:/Verbindungsauskunft/daten/db";
ResultSet rs= null;
public DATENBANK(){
try{
Class.forName("org.hsqldb.jdbc.JDBCDriver").newInstance();
}
catch(Exception e){
System.out.println(e);
}
}
public void Ausgeben(){
try{
verbindung = DriverManager.getConnection(url, "sa", "");
befehl = verbindung.createStatement();
rs = befehl.executeQuery("SELECT * FROM \"Stationen\"");
while(rs.next()){
System.out.print("Bahnhof: " + rs.getString("Name"));
System.out.print(" Umstiegszeit: " + rs.getString("Umstiegszeit") + " min");
System.out.println("");
}
befehl.close();
verbindung.close();
}
catch(Exception e){
System.out.println(e);
}
}
public void Einfügen(){
try{
verbindung = DriverManager.getConnection(url, "sa", "");
PreparedStatement ps = verbindung.prepareStatement("INSERT INTO \"Stationen\" VALUES (?, 3)");
ps.setString(1, "Test");
ps.executeUpdate();
befehl.close();
verbindung.close();
}
catch(Exception e){
System.out.println(e);
}
}
public void Leeren(){
try{
verbindung = DriverManager.getConnection(url, "sa", "");
befehl = verbindung.createStatement();
befehl.executeUpdate("TRUNCATE TABLE \"Stationen\"");
befehl.close();
verbindung.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
Es wäre nett wenn jemand die Einfügen() Methode auf Fehler prüfen könnte. Möglicherweise ist er ja auch in der SQL aber ich bin mit meinem Latein am Ende, da die anderen Methoden, die auf den selben Schema aufgebaut sind alle funktionieren.
Danke im Voraus.
Mfg MaZeFrJoTh
P.S.: Mir ist gerade aufgefallen das die Datei db.backup nach Zugriff über hsqldb dann db.lck heißt. Ist das Normal??