Einzelnen Beitrag anzeigen

shmia

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

AW: Ergebnis eines ADOQuery zurückgeben

  Alt 31. Aug 2010, 18:08
Ich würde da auch TDataSet verwenden aber als Parameter. Ich hab sonst immer ein ungutes Gefühl bei der Freigabe.
Das wird hier aber leider nicht funktionieren.
TDataset ist eine abstrakte Klasse. Man kann also nicht TDataset.Create aufrufen und das erzeugte Objekt übergeben.
Delphi-Quellcode:
procedure TDatenmodulXY.A(ds:TDataset);
begin
  // Geht nicht, weil TDataset das Property SQL nicht kennt
  ds.SQL.Text := 'SELECT * FROM ...';

  // die Daten von einer ADOQuery auf das Dataset zu kopieren geht auch nicht
     
end;
Also muss es halt doch eine Funktion sein:
Delphi-Quellcode:
function TDatenmodulXY.A:TDataset;
begin
  ADOQueryABC.close;
  ADOQueryABC.SQL.Text := ...; // evtl. auch weglassen und SQL zur Entwicklungszeit einstellen
  ADOQueryABC.Open;
  Result := ADOQueryABC;
end;
Andreas
  Mit Zitat antworten Zitat