Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

AW: Funktion: wie am besten Tabelle übergeben

  Alt 8. Mär 2011, 10:15
Also ich vermute, es gab hier im Thread einige Missverständnisse.
Wenn man Daten aus einer Tabelle oder Query auslesen möchte und dies in einer eigenen Funktion tut, dann sollte man ganz klar die Klasse TDataset verwenden.
Delphi-Quellcode:
procedure TForm1.DatenAnzeigen(ds:TDataset);
begin
  MemoDaten.Clear;
  MemoDaten.Lines.Add('Name='+ds.FieldByName('Bezeichnung').AsString);
  MemoDaten.Lines.Add('Preis='+ds.FieldByName('Preis').AsString);
end;

procedure TForm1.Machwas;
begin
  ADOQueryArtikel.Open;
  if not ADOQueryArtikel.IsEmpty then
    DatenAnzeigen(ADOQueryArtikel);
end;
Man sieht also, dass zwar eine AdoQuery verwendet wird aber zum Anzeigen nur die Basisklasse TDataset übergeben wird.
Dies hat zwei Vorteile:
1.) man kann problemlos von einer AdoQuery zum AdoDataset wechseln ohne dass die Anzeige-Prozedur geändert werden müsste
2.) man drückt klar seine Absicht aus, dass man nur mit einem Dataset arbeiten möchte.
Der Aufrufer muss also nicht damit rechnen, dass z.B. das Property SQL verändert werden könnte
Andreas
  Mit Zitat antworten Zitat