MySQL, Borland zeigt die Uhrzeit nicht an



  • hi,

    also ich speichere die Uhrzeit in der Form

    Insert into sonstwas Values(NULL, CURRENT_DATE(), CURRENT_Time());
    

    so, die Uhrzeit ist in DB drin kann ich auch einsehen

    Select * from sonstwas;
    

    jetzt lasse ich das ganze in einem DBGrid anzeigen mit Hilfe einer Querry (mit einer TTable das gleiche) und es zeigt alles an ausser für die Zeitangabe steht da nur 00:00:00.
    Muss ich da was einstellen damit es die Uhrzeit anzeigen kann?


  • Mod

    Hallo

    Wo zeigst du die ZÚhrzeit an ?
    Was sagt der Debugger dazu ?
    ...

    MfG
    Klaus



  • Wie gesagt das ganze wird im DBGrid angezeigt, die komplette Tabelle.

    Zum Debugger kann ich nix sagen da ich nicht genau weiß wie das benutzt wird.

    Eigentlich dachte ich daß die Ausgabe gleich sein sollte wie in MySQL-Front,
    weil da werden die Daten korrekt ausgegeben "ID DATUM ZEIT".



  • Wo das Datum gespeichert wird, was für ein Typ ist die Spalte?



  • Datum ist vom Typ DATE
    Zeit ist von Typ TIME

    mit Datum hab ich auch kein Problem aber mit der Zeit (wird nicht angezeigt in Borland)



  • ähm, wird dein wert richtig gesichert in der db?
    weil bei date und time mußt du auf das format achten.



  • Beim Testen mit der MySQL-Abfrage ist mir eben das gleiche aufgefallen.
    Anscheinend kommt der Builder nicht mit dem TIME-Format der Datenbank klar. Ein DATETIME-Format wird dagegen korrekt eingelesen, bei dem TIME-Format erscheint nach der Abfrage lediglich 00:00:00.
    Ich habe das eben mit einer Versuchstabelle probiert:

    CREATE TABLE zeiten
    (
    id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    datumszeit DATETIME NOT NULL,
    zeit TIME NOT NULL
    );

    INSERT INTO zeiten (datumszeit, zeit) VALUES ((NOW()), CURTIME());

    Bei einer Abfrage die dann in eine Memo-Box geleitet wird ergibt das

    1
    24.03.2005 22:58:18
    00:00:00

    Weiß jemand ob man das irgendwie ändern kann? Oder liegt das irgendwie am ODBC-Treiber? Die Datentypen stimmen ja, und Gast hatte ja anscheinend das gleiche Problem.



  • Hallo

    der MySQL-Server benutzt wie bereits angemerkt andere Datumsformate beim Speichern . Die kannst du durch diese Umwandlung erhalten :

    TDateTime Date = Date(); 
    AnsiString QueryValue = FormatDateTime("yyyy-mm-dd", Date)
    

    Damit kann ich jedenfalls Datumsangaben speichern.

    bis bald
    akari


Anmelden zum Antworten