AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Current_Time-Problem mit Firebird
Thema durchsuchen
Ansicht
Themen-Optionen

Current_Time-Problem mit Firebird

Ein Thema von Ati · begonnen am 29. Aug 2006 · letzter Beitrag vom 29. Aug 2006
Antwort Antwort
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#1

Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 08:41
Datenbank: Firebird • Version: 1.5 • Zugriff über: SQLdb
Hallo zusammen,

ich lasse in meinen Anwendungen das Erfassungsdatum und die Erfassungszeit per TRIGGER speichern.
Wenn ich jetzt die Datensätze abrufe erscheint aber im Feld "Erfassungszeit" die Uhrzeit mit einem Datum (Bsp. "30.12.1899 9.05"). Wie kann ich das ändern bzw. beim 'SELECT' korrigieren?
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 08:44
Hmmm .. das sind ziemlich wenige Informationen für einen eindeutige Analyse.

Sag uns doch mal, wie die Tabelle aufgebaut ist und den Code, mit dem du die Zeit reinschreibst und mit dem du sie wieder lesen willst.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#3

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 08:50
Ok. Hier mal der Trigger.
Delphi-Quellcode:
CREATE TRIGGER REKLAMATIONEN_BI FOR REKLAMATIONEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GEN_REKLAMATIONEN_ID,1);
    new.rekdat=current_date;
    new.rekuhr=current_time;
END
Das Feld 'REKDAT' ist vom Feldtyp 'DATE' und 'REKUHR' vom Feldtyp 'TIME'.

Der Abruf der Daten erfolgt ganz normal per:
SELECT * from REKLAMATIONEN Hoffe habe alles an Info´s gegeben.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 08:54
Was meinst du mit "beim select korrigieren?" Willsr du das Datum in der Anzeige verändern oder in der Datenbank, wie willst due korrigieren?
Markus Kinzler
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#5

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 09:03
Habe mir nochmal den Eintrag direkt in der DB angeschaut..seltsamer Weise steht dort nur die Uhrzeit. Es könnte natürlich ml wieder eine kleine Besonderheit von Lazarus sein oder hat jemand mit Delphi ähnliche Erfahrungen gemacht?

@mkinzler
Ich denke wenn ich die Darstellung manipulieren muß dann doch wohl in der Anzeige des DB-Grids oder?
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 09:09
Hi,

Delphi kennt (leider) nur noch den Typ TDateTime. TDate und TTime sind davon "abgeleitet", d.h. TDate und TTime sind ebenfalls vom Typ TDateTime. Somit erhälst Du bei einem TTime immer auch den TDate-Anteil zurück. Wenn Du das von Hand anzeigst, kannst Du darauf Einfluss nehmen, in einem DB-Grid siehts schlechter aus. Du kannst höchstens bei der TDataSet die Du einsetzt alle Felder erzeugen und versuchen dort einzustellen, dass Du ein TTime-Feld hast.

Die Anzeige ist im übrigen völlig korrekt: TDateTime ist ein einfacher Double. Die Zeit wird dabei als Nachkommastellen gespeichert, somit ist die Zahl vor dem Komma die Anzahl der Tage seit dem 31.12.1899.

Grüße
Lemmy
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#7

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 09:21
Na bitte. Es gibt zwar auch bei Lazarus zwei verschiedene Formen von DataSet´s allerdings habe ich damit noch nie gearbeitet (ist ja schließlich auch erst mein erstes größeres DB-Projekt). Werde mich dann wohl mal einlesen müssen.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#8

Re: Current_Time-Problem mit Firebird

  Alt 29. Aug 2006, 09:44
Ha. Es ging auch einfacher. In der Item-Eigenschaft des entsprechenden Feldes gab es einen Punkt "DisplayFormat" hier habe ich mal aus jux "hh:mm" eingetragen und siehe da es funktionierte.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz