Entwickler-Ecke

Datenbanken - Abfrage ob Feld leer ist


Grafix - So 03.05.09 21:52
Titel: Abfrage ob Feld leer ist
Abend,

hoffe ich habe kein Thema übersehen, wo dies schon mal behandelt wurde (scheint mir eigentlich eine recht essentielle Sache zu sein):


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 Ganzer_Name := QDetails.FieldByName('Vorname').AsString + ' ' + QDetails.FieldByName('Nachname').AsString;

 if QDetails.FieldByName('Nick') <> nil then
  LName_Top.Caption := QDetails.FieldByName('Nick').AsString
 else
  LName_Top.Caption := Ganzer_Name;


kann man das so machen? Der Nick wird so angezeigt, aber der ganze Name nicht :(


mkinzler - Mo 04.05.09 07:51


Delphi-Quelltext
1:
if not QDetails.FieldByName('Nick').isNull then                    


zuma - Mo 04.05.09 08:26

user profile iconmkinzler hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
if not QDetails.FieldByName('Nick').isNull then                    


gilt, wenn das Feld in Db NULL, also noch nicht belegt wurde.

wenn das Feld aber geleert wurde (vorher z.b. 'Nick', dann ersetzt durch '')
ist das Feld nicht NULL, sondern einfach nur leer.

daher würde ich es so machen (not mag ich nicht so, vermeide es deshalb gerne ;)):


Delphi-Quelltext
1:
2:
3:
4:
5:
 if QDetails.FieldByName('Nick').isNull or 
    (QDetails.FieldByName('Nick').AsString = ''then
  LName_Top.Caption := Ganzer_Name
 else
  LName_Top.Caption := QDetails.FieldByName('Nick').AsString;


Grafix - So 10.05.09 17:13

super hat funktioniert, danke!