Einzelnen Beitrag anzeigen

barnti

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

Re: Sql-Statement für kleinste nicht vorhanden Nummer

  Alt 17. Okt 2003, 17:38
Hallo Leute,

das ist alles ganz ok nur kommen bei mir noch einige randbedingungen hinzu.

Ich löse das jetzt folgendermassen:

Es gibt zwei Tabellen:

Eine Stück-Tabelle, also die mit der gearbeitet wird

und eine Pool Tabelle, in der sich alle freien IDs befinden.

Wird nun in der Stücktabelle ein Datensatz angelegt so wird inkrementell geschaut, ob die ID bereits vorhanden Ist. Etwa so

Delphi-Quellcode:

Fuction IDErzeugen(ID: String): String;

begin
  if ID < 1000 then
     begin
       if Query.locate(nummer) then
          result:= nummer;
       else
          result:= IDErzeugen(Nummer+1);
     end
  else
     begin
       result:= FindeIDInPool(nummer);
     end
end;


Function FindeIDInPool(Nummer: String): String;
begin
  try
    QueryPool.locate
  except
    result:= nummer+1;
   end;
end;
Da kommt aufgrund der Rahmenbed. noch einiges hinzu...

Danke für die rege Beteiligung,

Barnti
  Mit Zitat antworten Zitat