![]() |
AW: IBDAC Leerstring statt Null. Alternativen?
Zitat:
EDIT: Hab hier ne mögliche Lösung. Also bei mir Funktionierts. :-D
Delphi-Quellcode:
procedure Tdm.qryTestBeforePost(DataSet: TDataSet);
var i: Integer; begin for i := 0 to DataSet.FieldCount-1 do begin if (DataSet.FieldByName(DataSet.FieldList[i].DisplayName).ReadOnly) or (DataSet.FieldByName(DataSet.FieldList[i].DisplayName).IsNull) then Continue; if trim(DataSet.FieldByName(DataSet.FieldList[i].DisplayName).AsString) = '' then DataSet.FieldByName(DataSet.FieldList[i].DisplayName).Clear; end; end; end; |
AW: IBDAC Leerstring statt Null. Alternativen?
Du solltest zum Einen überprüfen, ob du das Feld überhaupt beschreiben darfst, und zum Anderen, ob es nicht schon NULL ist. Auch ein NULL-Wert liefert einen Leerstring bei AsString.
|
AW: IBDAC Leerstring statt Null. Alternativen?
Zitat:
Das hätte irgendwann ne Exception gegeben.:roll: Wurde nun angepasst! |
AW: IBDAC Leerstring statt Null. Alternativen?
Alternativ könntre man dies auch mit einem Trigger lösen; wäre dann unabhängig von den Komponenten/Programm.
|
AW: IBDAC Leerstring statt Null. Alternativen?
Statt
Delphi-Quellcode:
kannst du dich auch gleich
TrimRight(TrimLeft(...
Delphi-Quellcode:
schreiben, oder?
Trim(...
|
AW: IBDAC Leerstring statt Null. Alternativen?
Zitat:
Habe gedacht aus " Hallo Welt " würde danach "HalloWelt" Zitat:
|
AW: IBDAC Leerstring statt Null. Alternativen?
Hatte ich schon vorher gelesen. Da ich mich mit der FireBird-Syntax noch schlechter auskenne als in Delphi, habe ich mir gedacht ich lasse das lieber.
Ist einfach
SQL-Code:
SET TERM ^^ ;
CREATE TRIGGER <TABELLE>_BI FOR <TABELLE> ACTIVE BEFORE INSERT or UPDATE POSITION 0 AS begin if ( new.<Feld> = '') then new.<Feld> = NULL; end ^^ SET TERM ; ^^ |
AW: IBDAC Leerstring statt Null. Alternativen?
Zitat:
|
AW: IBDAC Leerstring statt Null. Alternativen?
Hallo,
Zitat:
Null = Wert nicht bekannt "" = Wert bekannt, ist aber leer. |
AW: IBDAC Leerstring statt Null. Alternativen?
Es gibt noch eine Möglichkeit: Wert bekannt und kein Leerstring, besteht aber nur aus Leerzeichen.
So wie ich das verstanden habe, ist diese Vorgabe <Leerstring> => NULL hier anwendungsspezifisch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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