AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TDateTime und Timestamp

Ein Thema von Trafel21 · begonnen am 15. Jul 2019 · letzter Beitrag vom 15. Jul 2019
Antwort Antwort
Seite 2 von 2     12
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.168 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: TDateTime und Timestamp

  Alt 15. Jul 2019, 12:45
Ich sehe in der Ausgangsfrage einige "Ungereimtheiten".

Wenn das Feld wirklich ein TimeStamp ist, dann wäre die Zuweisung Now anstatt Today logischer.
Es scheint auch, als ob es besser wäre, das Feld in der DB als "default current_timestamp" anzulegen.

Aber um das richtig zu bewerten reichen die Info' s nicht.

Die Frage mit Value oder As... kann man auch nicht pauschal beantworten.
Ich sehe es als Vorliebe von mir, habe aber auch meine Gründe.
So erzeugt z.B. ein FeldOderParamter.AsString := '' (ja nach Komponenten) in der DB einen Leerstring anstatt null, was ich so nicht möchte.
Ich habe halt auch viel mit Automatismen (Import, Export, Workflows etc.) zu schaffen, wo ich den Typ nicht unbedingt kenne.
Und Value funktioniert bis jetzt mit den von mir verwendeten Komponenten immer korrekt.
Auch kann in der DB den Feldtyp einfach mal ändern, ohne über Anpassungen im Code nachzudenken.

Frank Reim
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.019 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: TDateTime und Timestamp

  Alt 15. Jul 2019, 12:56
So erzeugt z.B. ein FeldOderParamter.AsString := '' (ja nach Komponenten) in der DB einen Leerstring anstatt null, was ich so nicht möchte.
Was IMHO ein völlig korrektes Verhalten ist. Möchte man ein NULL, sollte man explizit TField.Clear verwenden. Bedenke, es kann ja z.B. ein VARCHAR() NOT NULL Feld sein, wo man dennoch einen Leerstring zuweisen könnte. Oftmals ist das bei den neueren Edeldödel-Konnektoren so gelöst, dass man besagtes Verhalten durch irgendwelche Connection-Parameter beeinflussen kann.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.168 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: TDateTime und Timestamp

  Alt 15. Jul 2019, 13:24
Was IMHO ein völlig korrektes Verhalten ist. Möchte man ein NULL, sollte man explizit TField.Clear verwenden. Bedenke, es kann ja z.B. ein VARCHAR() NOT NULL Feld sein, wo man dennoch einen Leerstring zuweisen könnte. Oftmals ist das bei den neueren Edeldödel-Konnektoren so gelöst, dass man besagtes Verhalten durch irgendwelche Connection-Parameter beeinflussen kann.
Damit hast du völlig recht.

Aber wenn ich in der DB in leeren VARCHAR - Feldern Null anstatt '' haben will, geht das halt nur mit Variants und Value.
Auch wenn es Komponenten gibt, wo ich über z.B. BlankAsNull oder wie immer das benannt ist das Verhalten steuern kann...

Frank
Frank Reim
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf