Datum util zu Datum sql umwandeln

Hallo!

Das ist ja das Problem:

long t = listDate.get(i).getTime(): //listDate ist eine ArrayList aus java.util.Date
erg.add(new java.sql.Date(t));

eigentlich genau das selbe, aber ich bekomm ja immer die Exception:

Bei der Konvertierung eines char-Datentyps in einen datetime-Datentyp liegt der datetime-Wert außerhalb des gültigen Bereichs.
 
Die Fehlermeldung kommt ja vom SQL-Treiber? Sonst wäre sie kaum eingedeutscht^^

Ich hab mal google befragt....
Da war das Problem, dass ein deutschsprachiger (Microsoft)SQL-Server auf einem Englischen Windows läuft.

Und dadurch ein anderes Datumsformat erwartet wird vom SQL-Server.

Kurzes Datumsformat:
Hier: TT.MM.JJJJ

Langes Datumsformat:
TTTT, T. MMMM JJJJ

Ein Stacktrace wäre natürlich schöner gewesen (package-Namen oder so hätteste ja zensieren können^^)
 
Zuletzt bearbeitet:
OK, ich habs

Der entscheidende Hinweis war die Sprache!
Also, ich bin draufgekommen, dass es nicht umbedingt notwendig ist, java.sql.Date zu verwenden, desshalb hab ich dann SimpleDateFormat verwendet. (englischer Server)

Code:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss"); //Achtung auf Groß-Klein Schreibung
arrayList.add(sdf.format(listDate.get(i))); //arrayList<String>
Danke für eure Hilfe!

ps: StrackTrace ist bei mir jetzt ein bißchen kompliziert herbeizuzaubern, denn ich führe das Program nicht auf dem Computer aus, auf dem ich programmiere.
 
Zuletzt bearbeitet:
Danke, es funktioniert jetzt. Es lag tatsächlich an der Sprache. Man braucht java.sql.Date garnicht

Code:
SimpleDateFormat sdf = new SimpleDateFormat(yyyy-dd-MM HH:mm:ss); //Groß-Klein Schreibung beachten
erg.add(sdf.format(listDate.get(i)); //erg=ArrayList<String>

Danke für eure Hilfe!
 
Ich verstehe immer noch nicht was du eigentlich gemacht hast? Formatierst du eigenhändig die Variablen für den SQL-String? (habs nun gesehen...hatte das wohl übersehen)

Dazu benutzt man normalerweise ein PreparedStatement. Der sollte alles durch den JDBC-Treiber entsprechend formatieren. http://java.sun.com/javase/6/docs/api/java/sql/PreparedStatement.html

Es ist auch performanter(batch inserts/updates) bei häufigeren Aufrufen und schützt vor SQL-Injections.
 
Von einem Server werden e-mails geholt, diese werden ausgewertet.(Name, Addresse, DatumAbgeschickt, DatumEmpfangen usw.)

Alle diese Felder werden dann in eine sql Datei gespeichert.

mfg
Steve
 
Zurück