Hallo,
eine kleine Verständnisfrage vorweg:
Was soll der Doppelpunkt in "... NAME=:'+..." bewirken. So werden eigentlich Parameter in einem
SQL-Statment eingeleitet.
Eigentlich müsste Deine Abfrage immer eine leere Menge liefern.
Jetzt die Antwort:
PID:=IBSQL.FieldByName(ID).AsInteger;
Damit das klappt bzw. eindeutig ist, darf Deine Abfrage garantiert nur einen Datensatz liefern. Wenn die Abfrage mehr als einen Datensatz liefert, musst Du Dich für einen entscheiden.
Über Resultsets mit mehreren Datesätzen kannst Du wie folgt iterieren
Delphi-Quellcode:
While Not IBSQL1.EOF do
begin
// Hier irgendetwas machen
IBSQL1.Next;
end;