AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TPgIntervalField auf NULL setzen
Thema durchsuchen
Ansicht
Themen-Optionen

TPgIntervalField auf NULL setzen

Ein Thema von himitsu · begonnen am 7. Okt 2013 · letzter Beitrag vom 8. Okt 2013
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.575 Beiträge
 
Delphi 12 Athens
 
#1

AW: TPgIntervalField auf NULL setzen

  Alt 7. Okt 2013, 17:02
:= Null; hatte ich auch schon ausprobiert.
Also alles Einzeln und auch Mehreres zusammen und direkt danach ein Post.

Nichts geht.

Ein IsNull meint zwar noch kurz vor dem Post, daß es nun Null sei und ohne Refresh ist das Feld auch "leer", aber ein Blick in die Datenbank, bzw. nach einem Refresh/RefreshRecord ist es wieder da.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TPgIntervalField auf NULL setzen

  Alt 7. Okt 2013, 17:21
Ich habe gerade des öfteren gelesen, dass die Datatype Eigenschaft des Feldes vorher festgelegt werden soll, damit das funktioniert. Ob das hier jetzt weiterhilft bzw. das überhaupt stimmt kann ich natürlich nicht sagen.

Und dann noch etwas: Schonmal mit der TParam.Bound Eigenschaft rumgespielt, ob das was bringt? (Ebenfalls gerade mehrfach gelesen.)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.575 Beiträge
 
Delphi 12 Athens
 
#3

AW: TPgIntervalField auf NULL setzen

  Alt 7. Okt 2013, 17:57
Bound ist eh nur ein Getter und mehr als Lesen kann man damit also nicht.

Außerdem werden die Insert/Update/Delete-statements, sowie deren Parameter stantardmäßig automatisch vom TPgQuery erzeugt.
Da kommt man so auch nicht so leicht ran, ohne wieder alles selberzumachen.

Der DataType wird vom TPgIntervalField im Constructor gesetzt. (ftPgInterval = 106)



Sobald einmal diese interne TPgInterval-Instanz erstellt wurde (wenn nicht NULL), dann geht die einfach nicht mehr weg.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.575 Beiträge
 
Delphi 12 Athens
 
#4

AW: TPgIntervalField auf NULL setzen

  Alt 8. Okt 2013, 13:45
nur nochmal Einiges aufgezählt:
Delphi-Quellcode:
Sql.FieldByName('t_interval').AsString := '';

Sql.FieldByName('t_interval').AsString := '00:00:00';

Sql.FieldByName('t_interval').Clear;

with (Sql.FieldByName('t_interval') as TPgIntervalField).AsPgInterval do begin
  MonthsFull := 0;
  Days := 0;
  SecondsFull := 0;
end;
Sql.FieldByName('t_interval').SetData(nil, True);
Sobald die Zeit auf "0" gesetzt wird, dann knallt es beim Post mit folgendem Fehler.
Zitat:
EPgError:
invalid input syntax for type interval: ""
Vorallem der Letzte versuchte das hinzubekommen, wie der Status vom TPgIntervalField ursprünglich ist, wenn das Feld schon als NULL aus der DB ausgelesen wurde.



Nja, außer einer Meldung an DavArt (PgDAC) und zu warten wann der Fehler behoben wird, scheint wohl nicht möglich zu sein.
Ich hab in unserem Projekt erstmal aufgegeben und neben die Felder einen Button gemacht, welcher direkt das Update-Statement zur Datenbank schickt.
(das Update- und Insert-Statement manuell zu erstellen und das nicht vom PgDAC erledigen zu lassen ist hier keine so schöne Variante, da diese praktisch überall automatisch generiert werden und wir bei Änderungen diese Statements ganz bestimmt übersehn würden)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
196 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TPgIntervalField auf NULL setzen

  Alt 8. Okt 2013, 18:12
Vielleicht FieldByName(BlaBla').AsVariant := NULL ???
Thomas Forget
  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 07:34 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