Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Query lookup will nich wie ich...?

  Alt 11. Nov 2003, 11:19
Hi,

habe ein Problem mit dem Finden eines Datensatzes durch den Aufruf von query.Lookup.
Dazu folgendes:
Delphi-Quellcode:

Function1(nummer: String):string;
begin

while PartieNummerExistiert(IntToStr(Nummer)) do
        begin
          Nummer:= Nummer +1;
        end;
      result:= IntToStr(nummer);
end;
Funktion1 soll eine Nummer zurückgeben, wenn diese nicht existiert. Andernfalls wird die nummer inkrementiert, bis diese nicht gefunden wird.

Delphi-Quellcode:

Function PartieNummerExistiert(Nummer: String):boolean;
var V: Variant;
begin
  Query_Partie_ID.Open; //Spalte //Wert //Rückgabewert
  V := Query_Partie_ID.Lookup('Partie_ID', VarArrayOf([nummer]), 'Partie_ID');
  result:= not(VarType(V) in [varNull]);
  Query_Partie_ID.Close;
end;
Die Funktion gibt zurück, ob die übergebene Nummer in der Tabelle vorkommt.

Mein Problem:

In der Tabelle sind 4 Einträge wobei die Partienummer von 5 bis 8 vorhanden ist. Wird Funktion1 mit dem Wert "5" aufgerufen, wird dieser gefunden und "nummer" inkrementiert. Wird die Funktion "PartieNummerExistiert" mit dem Wert "6" aufgerufen, so wird dierser nicht gefunden, was aber der Fall sein sollte...!?

Wo ist der Fehler? Liegt es irgentwie an dem Open, Close in "PartieNummerExistiert" ? Kann mir jemand einen Tip geben?

Danke & Gruß,

Barnti
  Mit Zitat antworten Zitat