PrepareStatement + Datetime

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
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
 
new Date(0);
ist 1970

new Date();
ist heute,

gibt aber vielleicht auch passende SQL-Funktionen, um die DB das selber machen zu lassen
 
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.
 
sonst machste halt

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

geht auch
 
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.
 
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.

Neue Themen


Zurück
Oben