AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Now() spinnt sporadisch

Ein Thema von OsCor · begonnen am 18. Jan 2011 · letzter Beitrag vom 18. Jan 2011
Antwort Antwort
Seite 1 von 2  1 2      
OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 09:52
Hallo Sherlock,

deine erste Frage hat mir zwei Sachen gezeigt:
- Du hast eine wichtige Frage gestellt,
- weil ich die Ausgabe in meinem DBGrid nicht mit der der MS-Access-DB verglichen habe.

In der Access-Tabelle wird der Zeitwert "00:00:00" angezeigt. Das heißt, dass die 99 im DBGrid für 1899 stehen müßte.

@pmoegenb
Ich verstehe nicht, wie der Nullwert zustande kommen kann. Unsere Rechner hängen auch alle an einem Zeitserver, müßten also immer die korrekte Systemzeit haben.

@guinnes
Was wäre mit einem Timestamp-Feld besser - abgesehen davon, dass Access so etwas nicht besitzt?

Oswald
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#2

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 09:57
Wenn man per Trigger das Datum oder einen Timestamp einfügen/aktualisieren ließe, müsste man sich programmatisch nicht mehr darum kümmern. Außerdem wäre die Systemzeit der Clients dann wurscht, da ja die des Servers genommen wird. Für Access sehe ich hier allerdings schwarz, da das ja kein C/S-System ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 10:07
@guinnes
Was wäre mit einem Timestamp-Feld besser - abgesehen davon, dass Access so etwas nicht besitzt?
Das du Access benutzt, war mir nicht klar. Bei MySQL z.B. braucht man sich dabei um nichts zu kümmern, das Feld wird automatisch mit Datum/Uhrzeit des Servers gefüllt und auch bei Änderungen automatisch aktualisiert.

Zu deiner Ursprungsfrage : Ich benutze Delphi seit ca. 14 Jahren, sowas habe ich noch nie erlebt. Eventuell falsches Datum/Uhrzeitformat ?
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.826 Beiträge
 
Delphi 12 Athens
 
#4

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 10:12
Ich bin mir jetzt noch sicherer, daß nicht Now das Problem ist, sondern die Stelle, die das Now in die DB schreibt, oder sogar die DB selber

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 10:17
Zu deiner Ursprungsfrage : Ich benutze Delphi seit ca. 14 Jahren, sowas habe ich noch nie erlebt. Eventuell falsches Datum/Uhrzeitformat ?
Dein erster Satz gilt auch für mich
Zum zweiten: Mich irritiert das sporadische Vorkommen. Selbst an dem Rechner, an dem der Fehler besonders häufig auftritt, sind die Einträge fast immer korrekt. Der Zeitwert wird so übertragen:
FieldByName('Datum').AsDateTime := Now(); Um abzuchecken, ob es an der DB liegen könnte, werde ich jetzt zunächst alle Eintragungen zusätzlich in einer Textdatei ablegen.

Oswald
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.359 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 11:50
Der Zeitwert wird so übertragen:
FieldByName('Datum').AsDateTime := Now();
Wenn Du es anders nicht lösen kannst, würde ich einen Zwischenschritt über eine Variable gehen DT := Now; und vor einer Zuweisung DT prüfen. So könntest Du zumindest erfahren, ob das Problem vom Delphi kommt oder in der DB liegt.

Ich kann mich erinnern, dass wir schon einmal 2 Threads zu diesem Thema hatten. Da wurde u.A. die Vermutung geäußert, dass "Now" irgendwo als Variable definiert und gelegentlich überschrieben wurde (nicht also die Systemzeit verwendet wurde). Ob es eine endgültige Klärung gab, weiß ich aber nicht mehr.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 13:25
Diese Threads habe ich vor meiner Frage durchgelesen. Meine Frage nach Now wurde darin nicht befriedigend beantwortet, die Probleme der Fadenautoren aber schon.
Wenn ich im Quelltext mit Strg + linke Maustaste auf Now klicke, komme ich immer auf den Quelltext von SysUtils.

Dein Vorschlag ist sicher eine gute Möglichkeit, vielleicht die einzig richtige. Im Moment habe ich in der DB an den geeigneten Stellen die Zeitangabe auf Standard = Jetzt() eingestellt.

Oswald
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#8

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 13:54
Wenn ich im Quelltext mit Strg + linke Maustaste auf Now klicke, komme ich immer auf den Quelltext von SysUtils.
Das ist auch richtig so. Die Funktion Now() liegt nämlich da. Und was macht sie? - Sie frägt das System nach der aktuellen Uhrzeit und konvertiert das in das Delphi-eigene System.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 14:39
Ähem Das weiß ich. Aber in den beiden zuvor erwähnten Threads wurde darauf hingewiesen, dass man im äußersten Fall Now sogar mit SysUtils.Now() aufrufen solle, um nur ja sicher zu gehen, dass der richtige Ablauf gestartet wird.
Um nun zu verhindern, dass mich jemand auf diese vermeintliche Möglichkeit stößt, habe ich die inkriminierte Bemerkung gemacht.

Oswald
  Mit Zitat antworten Zitat
Bernerbaer
(Gast)

n/a Beiträge
 
#10

AW: Now() spinnt sporadisch

  Alt 18. Jan 2011, 10:22
Zwar benutze ich Access seit Jahren nicht mehr, doch so weit ich mich erinnere unterstützt Access sehr wohl die Möglichkeit ein Feld automatisch mit der aktuellen Zeit anzulegen.
Wenn man als Standardwert für das betreffende Feld Now() oder Jetzt() definiert, wird automatisch der aktuelle Timestamp abgespeichert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz