Hallo zusammen,
seit der Umstellung unserer Anwendung auf FireDAC gibt es eine Fehlermeldung, welche nur in Verbindung mit einer Microsoft
Access Datenbank auftaucht. Wird die Anwendung in Verbindung mit Microsoft SQLServer gestartet, tritt die Fehlermeldung nicht auf. Die betreffende Funktion wird vielfach durchlaufen und bringt die Fehlermeldung ausschließlich beim ersten Durchlauf. Zuvor wurden im Programmablauf bereits einige Daten ohne Probleme aus der Datenbank gelesen.
Die Fehlermeldung löst keine
Exception aus und der Code wird mit dem nächsten Befehl fortgesetzt.
Fehlermeldung: "Abfrageunterstützung nicht verfügbar"
Delphi-Quellcode:
function GetFeldwertFromID(aTabelle, aFeld:
string; aID: integer): Variant;
var
MyQuery: TFDQuery;
begin
if aID = 0
then
exit;
MyQuery := TFDQuery.Create(MyDB);
MyQuery.Connection := MyDB;
with MyQuery
do
begin
if FindField('
GELOESCHT') <>
Nil then
SQL.Text := '
Select ' + aFeld + '
from ' + aTabelle + '
where ID = ' + aID.ToString +
'
and GELOESCHT = 0 '
else
SQL.Text := '
Select ' + aFeld + '
from ' + aTabelle + '
where ID = ' + aID.ToString;
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;
Free;
end;
end;
end;
Meine Recherche in Google und hier im Forum waren erfolglos. Hat jemand eine Idee was das sein könnte?
Danke für euere Ideen.
VG Michael
Michael H.