Systemdatum bei Datenbankanbindung

Status
Nicht offen für weitere Antworten.
M

Marcel80

Gast
Hallo,

ich versuche schon ne Weile an meinem Programm das Systemdatum einzufügen. Es soll also bei Aufruf diese SQL-Anweisung das Datum automatisch eingefügt werden. Ich habs mit "to_date" versucht, scheint aber falsch zu sein. Kann mir jemand weiterhelfen, an welcher Stelle der Fehler liegt?

Code:
import java.sql.*;
import java.sql.PreparedStatement;


public class AnmeldenKlausur
{
   public void saveEingabe(String be, String nr, String da)
  {
       
    try {
      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    }
    catch ( ClassNotFoundException e ) {
      System.out.println( "Fehler!" + e );
      
      return;
    }
            
    try
    {
        Connection conn;
        PreparedStatement stmt; 
        stmt = null;
        int rSet;
        String url = "jdbc:odbc:Klausurverwaltung";
        conn = DriverManager.getConnection(url); 
        
        String updateString = "INSERT INTO Klausur (VeranstaltungsNr, MatrikelNr, Datum) VALUES (?,?,to_date(current_date,'dd/mm/yyyy'))";  
        stmt = conn.prepareStatement(updateString); 
        stmt.setString(1, be); 
        stmt.setString(2, nr); 
        stmt.setString(3, da);
        int rows = stmt.executeUpdate(); 
        if (rows == 1) { 
       
        System.out.println("ok!"); 
      } 
        stmt.close();
        conn.close();
    }
    catch ( SQLException e )
    {
      System.out.println( "Fehler bei Tabellenabfrage   " + e);
        }
    }
  }
 

Timmah

Bekanntes Mitglied
Hängt von der Datenbank ab (MySQL, Access etc.).
Dort gibt es häufig andere Funktionen für das Gleiche.
Google doch einfach mal mit dem Namen deiner Datenbank.
 
M

Marcel80

Gast
Mit Access. In einem Beispiel habe ich, so wie es oben steht, was gefunden... Aber das funkt halt nicht... Das muss irgendwie mit Date() gehen, aber wie soll ich das einbauen? Das Bild ist cool!
 

WPNCC1701D

Mitglied
Hallo,

Access hat kein Datumsfeld, sondern ein Datum/Uhrzeit Feld.
Also musst Du das Datum in das Format konvertieren.

Probiers mal so

Code:
// Zeitstempel holen
Date heute = new Date();

// In das Format konvertieren
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
// Einen SQL Timestamp erzeugen
Timestamp ts  = Timestamp.valueOf(sdf.format(heute).toString());

.
.
.

// statt: stmt.setString(3, da); 
stmt.setTimestamp(3,ts);

HTH
Wolfgang
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben