SQL Date zu JAVA Date

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Wie kann ich in eine SQL Datenbank ein Date Objekt reinschreiben (nicht java.sql.Date sondern das andere Date) und es danach wieder auslesen?

Das funtkioniert direkt nicht.
 
Du wirst wahrscheinlich jdbc verwenden. Daher würde ich einfach die Methode executeQuery() verwenden. Diese gibt ein ResultSet zurück. Beispiel um ein Date aus der DB zu holen:

Code:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/datenbankname?user=username&password=passwortalsklartext");
PreparedStatement cmd = conn.prepareStatement("select testdatum from testtable");
ResultSet rs = cmd.executeQuery();
while (rs.next())
{
    System.out.println(rs.getDate("testdatum").toString());
}
conn.close();

Habe das Bsp jetzt nicht ausprobiert, aber so ähnlich sollte es eigentlich klappen.

Für den umgekehrten Weg musst du dich informieren welche Konvertierungsfunktion deine Datenbank unterstützt. So kannst du mit dem SQL Insert Befehl das Datum als String übergeben und verwendest eine Datenbank interne Funktion zur Konvertierung nach Date.
 
Code:
public final class JdbcUtil
{
   ...

   public static void setDate(final PreparedStatement stmt, final int index, final java.util.Date value) throws SQLException
   {
      if(value != null)
      {
         stmt.setDate(index, new java.sql.Date(value.getTime()));
      }
      else
      {
         stmt.setNull(index, Types.DATE);
      }
   }

   public static java.util.Date getDate(final ResultSet rs, final int index) throws SQLException
   {
      java.util.Date v_Result = rs.getDate(index);
      if(rs.wasNull())
      {
         v_Result = null;
      }
      return v_Result;
   }

   public static java.util.Date getDate(final ResultSet rs, final String name) throws SQLException
   {
      java.util.Date v_Result = rs.getDate(name);
      if(rs.wasNull())
      {
         v_Result = null;
      }
      return v_Result;
   }
}
 
also die frage ist wie du ein sql.Date in ein utilDate umwandeln kannst?

Code:
	java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());		
		java.util.Date utilDate = new Date(sqlDate.getTime());
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben