![]() |
Datenbank: Access • Version: 2000 • Zugriff über: TADOConnection, TADOBetterDatabase, TDatasource
Hilfe - Abfrage von Nullwerten
Ich hab da ein Problem. Vermutlich ein Anfängerfehler.
Ich versuche den Eintrag eines Feldes abzufragen. Wenn eine Postleitzahl eingetragen wird, dann sucht er zu der zugehörigen Postleitzahl den Ort und die Vorwahl.
Delphi-Quellcode:
Das Problem ist nun, wenn das Feld leer ist, dann bringt er einen Fehler.
procedure Tstammdaten_lieferanten.plzExit(Sender: TObject);
var suchplz: string; findort: string; findvor: string; begin suchplz := db_lieferanten['plz']; if plz.Field.IsNull = false then if db_plz.Locate('plz',suchplz,[loPartialKey]) = true then begin; findort := db_plz['gemeinde']; findvor := db_plz['vorwahl']; db_lieferanten['ort'] := findort; if telefon.field.isnull = false then db_lieferanten['telefon'] := findvor; end; end; Wenn mal ein Wert in das Feld der Datenbank eingetragen war, und man diesen Wert löscht, dann kann ich dies mit
Delphi-Quellcode:
abfangen.
if plz.Field.IsNull = false then
Wenn man aber einen Datensatz neu anlegt, in das Feld klickt und das Feld leer verläßt, dann bringt er folgenden Fehler:
Delphi-Quellcode:
Vielen Dank für Eure Hilfe!
Variante des Typs(Null) konte nicht in Typ(String) konvertiert werden.
Ratloser |
Re: Hilfe - Abfrage von Nullwerten
es gibt einen unterschied zwischen leer und NULL. Mit IsNull prüfst Du ob der Wert wirklich NULL ist, also undefiniert ist. In Deinem Fall ist er das aber nicht, ein Leerstring ist halt nicht undefiniert sondern eben ein Leerstring.
Prüfe einfach
Delphi-Quellcode:
Übrigens ist
if telefon.field.isnull or telefon.field = '' then
Delphi-Quellcode:
das gleiche wie
if telefon.field.isnull = false then
Delphi-Quellcode:
if telefon.field.isnull then
|
Re: Hilfe - Abfrage von Nullwerten
Zitat:
|
Re: Hilfe - Abfrage von Nullwerten
Vielen Dank!
Jetzt funktioniert es - ist halt ne Plage mit den Anfängern. LG Ratloser |
Re: Hilfe - Abfrage von Nullwerten
Zitat:
Aber letztens habe ich in Delphi mal
Delphi-Quellcode:
ausprobiert und das geht...
True := False;
|
Re: Hilfe - Abfrage von Nullwerten
Was gibts da auzuprobieren ? 1 := 0 das ist syntaktisch völlig korrekt.
|
Re: Hilfe - Abfrage von Nullwerten
Ich behaupte jetzt mal TRUE := FALSE geht in Delphi nur unter engen Randbedingungen:
Delphi-Quellcode:
Und die nötige Variablen-Deklaration muss dann schon morgens zwischen 4 und 5 Uhr entstanden sein. Ansonsten gilt auch für 1 := 0, dass es auf der linken Seite einer Zuweisung stets eines lvalues bedarf.
var
true: boolean; begin true := false; end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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