Das hat zwar nichts mit der Fehlermeldung zu tun, aber FindField auf eine geschossene
Query ohne
Sql sollte doch immer nil sein.
Weiterhin sollte nach
MyQuery := TFDQuery.Create(MyDB);
ein try folgen sonst bleibt die MyQuery bei einer
Exception beim Open im Speicher.
Delphi-Quellcode:
function GetFeldwertFromID(aTabelle, aFeld: string; aID: integer): Variant;
var
MyQuery: TFDQuery;
begin
if aID = 0 then
exit;
MyQuery := TFDQuery.Create(MyDB);
try
MyQuery.Connection := MyDB;
with MyQuery do
begin
...
try
open; //--> hier tritt der Fehler auf
first;
if (FieldByName(aFeld).AsString = '') or (FieldByName(aFeld).IsNull) or
(Recordcount = 0) then
Result := StrKeinEintrag
else
Result := FieldByName(aFeld).AsString;
finally
Close;
end;
end;
finally
MyQuery.Free;
end;
end;