Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Fehlermeldung beim Zugriff auf die Datenbank

  Alt 26. Jan 2022, 08:34
aId kann eigentlich, da es als Parameter der Funtione deklariert ist, nicht "null" sein.

versuche es mal so:

Delphi-Quellcode:
function GetFeldwertFromID(aTabelle, aFeld: string; aID: integer = 0): Variant;
var
  MyQuery: TFDQuery;
begin
  if aID = 0 then
    exit;
  MyQuery := TFDQuery.Create(nil);
  try
    myQuery.Connection := myDb;
    if myQuery.Connection.Connected then
    begin
      if myQuery.FindField('GELOESCHT') <> Nil then
        myQuery.SQL.Text := 'Select :aFeld from &aTabelle where ID = :aID '+
                    ' and GELOESCHT = 0 '
      else
        myQuery.SQL.Text := 'Select :aFeld from &aTabelle where ID = :aID ';

      myQuery.ParamByName('aFeld').AsString := aFeld;
      //myQuery.ParamByName('aTabelle').AsString := aTabelle;
      myQuery.MacroByName('aTabelle').AsString := aTabelle;
      myQuery.ParamByName('aId').AsInteger := aId;
      try
        myQuery.Open; //--> hier tritt der Fehler auf
        if myQuery.Recordcount = 0 then
          Result := 'Kein Eintrag'
        else
          Result := myQuery.FieldByName(aFeld).AsString;
      except
        raise;
      end;
    end;
  finally
    myQuery.Close;
    myQuery.Free;
  end;
end;
Grüße
Klaus
Klaus

Geändert von Klaus01 (26. Jan 2022 um 09:16 Uhr) Grund: Korrektur wegen untenstehendem Kommentar
  Mit Zitat antworten Zitat