Moin Moin ihr Lieben!
So langsam verzweifle ich hier.
Ich habe nun Ewigkeiten mit Google verbraucht und auch sehr viel gefunden, nur leider nichts passendes :/
Hier erstmal der wichtige Code:
sql ist dabei ein String
Was will ich machen? Ich will eine neues Projekt p in meine Oracle DB schreiben.
Das Statement ist richtig (habe es direkt auf der DB getestet).
Die projekt_id hole ich mir über eine sequence, das funktioniert auch wunderbar.
Das projekt gebe ich mir auch vorher auf die Konsole aus, da sind alle Daten 1a drin.
dennoch bekomme ich folgende Exception:
Angezeigt wird der Fehler auf der Line, in der ich das Ende-Datum setze (Zeile 11 im Ausschnitt).
Das ist auch der Punkt, der mich so verwirrt.. Das anfangs-datum funktioniert - ende nicht mehr.
Das Datum an sich ist ein GregorianCalendar den ich per "getTimeInMillis()" auf ein SQL-Date umwandle.
Vll sehe ich ja den Wald vor lauter Bäumen nicht, aber ich weiß keinen Rat mehr.
Vielen Dank schonmal, dass Ihr euch die Zeit nehmt, den Quatsch zu lesen
So langsam verzweifle ich hier.
Ich habe nun Ewigkeiten mit Google verbraucht und auch sehr viel gefunden, nur leider nichts passendes :/
Hier erstmal der wichtige Code:
Java:
sql = "INSERT INTO Projekt (projekt_id, name, anfang, ende, beschreibung) "
+ "values (?, '?', ?, ?, '?')";
System.out.println("Einzufügendes Projekt:");
p.setId(projekt_id);
System.out.println(p);
pstmt = connection.prepareStatement(sql);
pstmt.setInt(1, projekt_id);
pstmt.setString(2, p.getName());
pstmt.setDate(3, new Date(p.getAnfang().getTimeInMillis()));
pstmt.setDate(4, new Date(p.getEnde().getTimeInMillis()));
pstmt.setString(5, p.getBeschreibung());
pstmt.executeUpdate();
sql ist dabei ein String
Was will ich machen? Ich will eine neues Projekt p in meine Oracle DB schreiben.
Das Statement ist richtig (habe es direkt auf der DB getestet).
Die projekt_id hole ich mir über eine sequence, das funktioniert auch wunderbar.
Das projekt gebe ich mir auch vorher auf die Konsole aus, da sind alle Daten 1a drin.
dennoch bekomme ich folgende Exception:
Java:
SQL Exception!
java.sql.SQLException: Ungültiger Spaltenindex
at oracle.jdbc.driver.OraclePreparedStatement.setDateInternal(OraclePreparedStatement.java:7001)
at oracle.jdbc.driver.OraclePreparedStatement.setDate(OraclePreparedStatement.java:6988)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setDate(OraclePreparedStatementWrapper.java:166)
at dao.ProjektDAOImpl.insertProjekt(ProjektDAOImpl.java:95)
at dao.Main.main(Main.java:32)
Angezeigt wird der Fehler auf der Line, in der ich das Ende-Datum setze (Zeile 11 im Ausschnitt).
Das ist auch der Punkt, der mich so verwirrt.. Das anfangs-datum funktioniert - ende nicht mehr.
Das Datum an sich ist ein GregorianCalendar den ich per "getTimeInMillis()" auf ein SQL-Date umwandle.
Vll sehe ich ja den Wald vor lauter Bäumen nicht, aber ich weiß keinen Rat mehr.
Vielen Dank schonmal, dass Ihr euch die Zeit nehmt, den Quatsch zu lesen
Zuletzt bearbeitet: