Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fields[0] auf Inhalt (Null) überprüfen (https://www.delphipraxis.net/100900-fields%5B0%5D-auf-inhalt-null-ueberpruefen.html)

Reinhardtinho 5. Okt 2007 10:36

Datenbank: MSSSQL Server 2000 • Zugriff über: SDAC

Fields[0] auf Inhalt (Null) überprüfen
 
Hi zusammen,

Ich möchte überprüfen, ob ich auf den Inhalt in einem Datenbankfeld überhaupt zugreifen darf.

Ich habe es mit

Delphi-Quellcode:
VarIsNull(DataSet1.Fields.Fields[0].AsVariant)
probiert, aber die Überprüfung ergibt False, obwohl das feld leer ist.


Weiß jemand, wie es besser geht?


Vielen Dank und freundliche Grüße
Lorenz

Hansa 5. Okt 2007 10:41

Re: Fields[0] auf Inhalt (Null) überprüfen
 
Benutze
Delphi-Quellcode:
FieldByName
Oder willst du unbedingt die Nummern der Tabellenfelder auswendig lernnen ? :cyclops:

P.S.: je nach Zugriffskomponenten gibts auch noch IsNull, IsEmpty usw.

s-off 5. Okt 2007 10:42

Re: Fields[0] auf Inhalt (Null) überprüfen
 
Hallo,
Zitat:

Zitat von Reinhardtinho
Ich möchte überprüfen, ob ich auf den Inhalt in einem Datenbankfeld überhaupt zugreifen darf.

damit
Zitat:

Zitat von Reinhardtinho
Delphi-Quellcode:
VarIsNull(DataSet1.Fields.Fields[0].AsVariant)

greifst Du doch schon auf das Feld zu :zwinker:


Welcher Sinn steckt dahinter? Möchtest Du, im Falle, dass das Feld keinen Wert enthält, einen Defaultwert nehmen?
In Oracle gibt es dafür 'NVL' - ob es etwas ähnliches in Deinem System gibt, musst Du mal schauen. NVL überprüft, ob ein Feld leer ist. Falls ja, gibt es einen Wert A zurück, falls nicht, den Inhalt.

Und bedenke: NULL <> 0!
0 ist ein Wert, NULL nicht.
Und jeder Feldtyp braucht eine andere Abfrage auf 'LEER'

Desweiteren gibt es zusätzlich zu 'VarIsNull' auch noch 'VarIsClear' und 'VarIsEmpty'.
Mehr dazu in der D-Hilfe.

shmia 5. Okt 2007 10:55

Re: Fields[0] auf Inhalt (Null) überprüfen
 
Delphi-Quellcode:
if DataSet1.Fields[0].IsNull then
   ShowMessage('Feld ist NULL');
if DataSet1.FieldByName('EMail').IsNull then
   ShowMessage('Feld EMail ist NULL');

Reinhardtinho 5. Okt 2007 11:02

Re: Fields[0] auf Inhalt (Null) überprüfen
 
Danke an alle, ich habe es mit .IsNull gemacht.

MFG
Lorenz


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz