[gelöst] Millisekdungen beim speichern von DateTime in Table

Bild Microsoft Dynamics NAV 2009 (aka "NAV 6")
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt angeben, ob sich eure Frage auf den RoleTailored-Client (RTC) oder den Classic-Client (CC) bezieht!

[gelöst] Millisekdungen beim speichern von DateTime in Table

Beitragvon JayCee » 28. März 2019 13:43

Hallo zusammen,

wir arbeiten mit NAV 2009 R2 und dem Classic-Client.

Wenn ich eine Variable vom Typ DateTime in ein Tabellenfeld vom Typ DateTime schreibe und anschlieĂźend das Feld aus der Tabelle wieder auslese, dann gibt es manchmal eine Differenz in den Millisekunden.

Ich speichere zum Beispiel den DateTime-Wert "28.03.2019 12:35:01,982" aus einer Variable in der Tabelle. In der Tabelle steht anschlieĂźend aber "28.03.2019 12:35:01,983".
Das Problem tritt auch nicht immer auf. Nur manchmal. Kennt jemand eine Lösung dafür?

Hier mal meinen Beispiel:
Die erste Message gibt den richtigen Wert aus. Die zweite Message gibt manchmal den Wert mit einer Millisekunde Unterschied aus.

Code: Alles auswählen
dateTime := CURRENTDATETIME();

testTab.RESET;
IF testTab.FINDLAST THEN BEGIN

  testTab.DateTimeShow := dateTime;
  testTab.MODIFY;

  MESSAGE(FORMAT(dateTime,0,'<Day,2>.<Month,2>.<Year4> <Hours24,2>:<Minutes,2>:<Seconds,2><Second dec>'));



  testTab2.RESET;
  IF testTab2.FINDLAST THEN;

  MESSAGE(FORMAT(testTab2.DateTimeShow,0,'<Day,2>.<Month,2>.<Year4> <Hours24,2>:<Minutes,2>:<Seconds,2><Second dec>'));

END;


Vielen Dank schonmal fĂĽr eure Hilfe!

GrĂĽĂźe Jens
Zuletzt geändert von JayCee am 29. März 2019 15:17, insgesamt 1-mal geändert.
JayCee
 
Beiträge: 4
Registriert: 28. März 2019 13:21

Re: Millisekdungen beim speichern von DateTime-Wert in Tabel

Beitragvon fiddi » 28. März 2019 13:54

Hallo,

es soll zwar nicht sein, aber evtl. passiert das durch das Vor- und ZurĂĽckrechnen der Zeit vom MEZ nach UTC (unter dem es in der Datenbank steht) und wieder zurĂĽck.

Mann müsste das mal mit einer DB oder Client testen, der/die komplett auf UTC läuft (NAS) ob das dort auch auftritt.

Generell wäre das ein blödes Problem.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7092
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: Millisekdungen beim speichern von DateTime-Wert in Tabel

Beitragvon SilverX » 28. März 2019 14:24

SQL Server stores DATETIME with a precision of 3.33 milliseconds (0. 00333 seconds). Similarly, SMALLDATETIME is rounded to the nearest minute.

SQL Server speichert DATETIME mit einer Genauigkeit von 3,33 Millisekunden (0. 00333 Sekunden). Ebenso wird die SMALLDATETIME auf die nächste Minute gerundet.

Daran kann man nichts ändern, außer den Datentyp zu ändern und das kann man als NAV-Entwickler leider nicht :)
Cheers
Carsten


This post is my own opinion and does not necessarily reflect the opinion or view of my employer.
SilverX
Microsoft Partner
Microsoft Partner
 
Beiträge: 1252
Registriert: 16. September 2006 14:07
Realer Name: Carsten Scholling
Arbeitsort: GĂĽtersloh
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013+

Re: Millisekdungen beim speichern von DateTime-Wert in Tabel

Beitragvon m_schneider » 28. März 2019 17:12

Man könnte den Wert als Text speichern.
MfG Michael
Benutzeravatar
m_schneider
 
Beiträge: 2142
Registriert: 20. Januar 2009 14:36
Realer Name: Michael Schneider
Arbeitsort: Treuen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: Millisekdungen beim speichern von DateTime-Wert in Tabel

Beitragvon JayCee » 29. März 2019 15:16

Vielen Dank fĂĽr eure Hilfe!
Da kann man dann leider nichts machen! Ich denke ich werden den Wert wirklich als Text speichern.
Ich denke damit ist das Thema "Gelöst".

grĂĽĂźe Jens
JayCee
 
Beiträge: 4
Registriert: 28. März 2019 13:21


ZurĂĽck zu NAV 2009

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Spider, Yandex [Bot] und 1 Gast

cron