# Datumsformat stimmt nicht



## möbi (20. Nov 2007)

Ich werde hier noch wahnsinnig. Ich möchte auf eine Tabelle in einer Informix-Datenbank ein Select-Statement absetzen


```
String getLastAction = "select kommt, geht from zeit_stamp where persnr = " + logname + " and datum = " + lastStamp;
```

lastStamp ist eine date-Variable, die ich vorher mit dem Wert aus einem anderen Resultset fülle.


```
while (mReSet.next())
 lastStamp = mReSet.getDate(1);
```


Leider erhalte ich durch die Select-Anweisung als lastStamp ein Date-Objekt im Format yyyy-MM-dd zurück. Um eine Abfrage mit dieser Variablen starten zu können, muss das Format aber MM/dd/yyyy sein. Was anderes akzeptiert die Informix-Datenbank leider nicht. 

Irgendwie hatte ich beim Umformatieren mittels SimpleDateFormat leider wenig erfolg. Nach dem Formatieren erhalte ich einen String und diesen String kann ich ja wieder nicht gebrauchen. Wenn ich dann irrsinnigerweise diesen String wieder in ein Date-Objekt zurückwandle erhalte ich ein völlig wirres Format. Könnte mir da bitte mal kurz wer helfen?


----------



## Niki (20. Nov 2007)

Warum verwendest du nicht einfach ein PreparedStatement?

```
PreparedStatement ps = connection.prepareStatement("select kommt, geht from zeit_stamp where persnr = ? and datum = ?");
ps.setInt(1, persnr);
ps.setDate(2, datum);
ResultSet rs = ps.executeQuers();
```


----------



## möbi (20. Nov 2007)

Mhm.... das ist zwar schön und gut, allerdings bin ich damit leider genauso weit wie vorher . Ich erhalte nur noch eine zusätzliche Exception: Invalid year in date. Was vermutlich darauf zurückzuführen ist, dass die Datenbank das Format in MM/dd/yyyy erwartet und mit dem anderen nichts anfangen kann.


----------



## möbi (20. Nov 2007)

So... ich bin jetzt soweit, dass ich beim Ausführen des Statements einen "String to Date conversion Error" bekomme. 

Ich muss jetzt nur noch den vorliegenden String 'MM/dd/yyyy' in ein Date wandeln. Nur irgendwie klappt das nicht. Ich erhalte immer wieder einen String


----------



## Niki (20. Nov 2007)

Zeig mal deinen Code her!

Du willst ein Date zu einem String parsen?


```
new SimpleDateFormat("MM/dd/yyyy").format(new Date());
new SimpleDateFormat("MM/dd/yyyy").parse("11/20/2007");
```


----------



## möbi (20. Nov 2007)

Mhm.... ich stand wohl etwas im Wald. Asche auf mein Haupt. Die Exception kam von woanders und mit meiner Abfrage war alles in Ordnung.


----------

