Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: ParamByName geht und geht mal nicht

  Alt 25. Apr 2015, 15:10
Eigentlich müsste da sowas bei rauskommen.
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project3.exe ist eine Exception der Klasse Exception mit der Meldung 'Fehlermeldung' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Zitat:
Delphi-Quellcode:
if Query_Quelle.FieldByName('xxxxx').AsInteger = Null then
   Query_Quelle.FieldByName('xxxxx').AsInteger := 0
else
   Query_Ziel.ParamByName('xxxxx').AsInteger := Query_Quelle.FieldByName('xxxxx').AsInteger;
Sicher, daß es so stimmt?

AsInteger = Null wird niemals True liefern, denn 0 <> NULL.
AsInteger gibt eine 0 zurück, wenn der Wert des Feldes NULL ist.

"Query_Quelle.FieldByName('xxxxx').AsInteger := 0" ist garantiert das falsche DataSet.

Du meinst bestimmt
Delphi-Quellcode:
if Query_Quelle.FieldByName('xxxxx').IsNull then
   Query_Ziel.FieldByName('xxxxx').AsInteger := 0
else
   Query_Ziel.ParamByName('xxxxx').AsInteger := Query_Quelle.FieldByName('xxxxx').AsInteger;
Aber da AsInteger sowieso 0 liefert, wenn NULL, kann man das alles weglassen.
Query_Ziel.ParamByName('xxxxx').AsInteger := Query_Quelle.FieldByName('xxxxx').AsInteger; reicht aus, genauso wie doch auch AsString ein NULL in '' umwandelt, bzw. AsFloat in 0.


Was genau soll eigentlich der Code machen?
NULL in 0, bzw. '' umwandeln?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Apr 2015 um 15:13 Uhr)
  Mit Zitat antworten Zitat