PrepareStatement + Datetime

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe hier eine Datenbank, die ein Feld Datetime hat.
Jetzt möchte ich dieses Feld mit dem aktuellen Datum und Uhrzeit füllen.

Ich benutze PrepareStatement.


Folgender Versuch schlug fehl:


Code:
Date date = new Date(0);
		String sql2="Insert into xmlinformation(filename,filepath,md5,geloescht,abgelegt,letzterzugriff) values (?,?,?,?,?,?)";
		stm=this.con.prepareStatement(sql2);
		stm.setString(1,file.getName());
		stm.setString(2,file.getAbsolutePath());
		stm.setString(3,md5);
		stm.setBoolean(4,false);
		stm.setDate(5,date);
		stm.setDate(6,date);
		stm.execute();

IN der Datenbank steht 1970-01-01 00:00:00.

WIe bekomme ich das aktuelle Daten herein?

Gruß

Markus
 
S

SlaterB

Gast
new Date(0);
ist 1970

new Date();
ist heute,

gibt aber vielleicht auch passende SQL-Funktionen, um die DB das selber machen zu lassen
 
G

Guest

Gast
SlaterB hat gesagt.:
new Date(0);
ist 1970

new Date();
ist heute,

gibt aber vielleicht auch passende SQL-Funktionen, um die DB das selber machen zu lassen

new Date(); geht leider nicht. Der bietet mir nur an new Date(0); oder new Date(int,int,int);

Das ist mein Problem.

Wie kann ich es denn am besten realisieren.
 

DP

Top Contributor
sonst machste halt

Code:
setString(5, new Date(System.currentTimeMillis()));

geht auch
 
T

Tharsonius

Gast
Ganz nebenbei, wenn es sich um eine MySQL Datenbank handelt kann man einfach im Insert ein NOW() übergeben, dann nimmt die Datenbank die aktuelle Uhrzeit und das aktuelle Datum und fügt das an dieser Stelle ein.

Alternativ schluckt MySQL auch einen simplen String, solange das Format passt.
 
M

maki

Gast
Danke, das Datum stimmt, nur leider wird die Uhrzeit nicht mitgespeichert.
Die Uhrzeit ist immer noch 00:00:00
Welches Date verwendest du denn?

java.util.Date
oder
java.sql.Date
 
G

Guest

Gast
maki hat gesagt.:
...
Welches Date verwendest du denn?

java.util.Date
oder
java.sql.Date
er verwendet sicherlich java.sql.Date, util.Date geht bei JDBC nicht.

Verwende Timestamp, dann hast du auch den Zeitanteil.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben