AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hilfe - Abfrage von Nullwerten
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe - Abfrage von Nullwerten

Offene Frage von "aps"
Ein Thema von ratloser · begonnen am 3. Jul 2005 · letzter Beitrag vom 4. Jul 2005
Antwort Antwort
ratloser

Registriert seit: 4. Mai 2005
Ort: Linz
36 Beiträge
 
#1

Hilfe - Abfrage von Nullwerten

  Alt 3. Jul 2005, 21:46
Datenbank: Access • Version: 2000 • Zugriff über: TADOConnection, TADOBetterDatabase, TDatasource
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:
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;
Das Problem ist nun, wenn das Feld leer ist, dann bringt er einen Fehler.
Wenn mal ein Wert in das Feld der Datenbank eingetragen war, und man diesen Wert löscht,
dann kann ich dies mit

if plz.Field.IsNull = false then abfangen.

Wenn man aber einen Datensatz neu anlegt, in das Feld klickt und das Feld leer verläßt,
dann bringt er folgenden Fehler:


Variante des Typs(Null) konte nicht in Typ(String) konvertiert werden. Vielen Dank für Eure Hilfe!

Ratloser
Vielen Dank!

Konrad
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Hilfe - Abfrage von Nullwerten

  Alt 3. Jul 2005, 22:23
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

if telefon.field.isnull or telefon.field = 'then Übrigens ist

if telefon.field.isnull = false then das gleiche wie

if telefon.field.isnull then
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Hilfe - Abfrage von Nullwerten

  Alt 3. Jul 2005, 23:40
Zitat von bttb930:
Übrigens ist

if telefon.field.isnull = false then das gleiche wie

if telefon.field.isnull then
und jetzt überleg nochmal genau was du da geschrieben hast
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
ratloser

Registriert seit: 4. Mai 2005
Ort: Linz
36 Beiträge
 
#4

Re: Hilfe - Abfrage von Nullwerten

  Alt 3. Jul 2005, 23:47
Vielen Dank!

Jetzt funktioniert es - ist halt ne Plage mit den Anfängern.

LG Ratloser
Vielen Dank!

Konrad
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#5

Re: Hilfe - Abfrage von Nullwerten

  Alt 4. Jul 2005, 15:01
Zitat von BlackJack:
Zitat von bttb930:
Übrigens ist

if telefon.field.isnull = false then das gleiche wie

if telefon.field.isnull then
und jetzt überleg nochmal genau was du da geschrieben hast ;)
ooops, not vergessen...

Aber letztens habe ich in Delphi mal

  True := False; ausprobiert und das geht...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Hilfe - Abfrage von Nullwerten

  Alt 4. Jul 2005, 19:47
Was gibts da auzuprobieren ? 1 := 0 das ist syntaktisch völlig korrekt.
Gruß
Hansa
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Hilfe - Abfrage von Nullwerten

  Alt 4. Jul 2005, 19:57
Ich behaupte jetzt mal TRUE := FALSE geht in Delphi nur unter engen Randbedingungen:

Delphi-Quellcode:
var
  true: boolean;
begin
  true := false;
end;
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.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 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