Threaded Delphi ADO Query

Ich habe einen Abfragecode, den ich jedes Mal aufrufen kann, wenn ich Daten aus der Datenbank abrufen muss, und ich möchte, dass der Thread ausgeführt wird. Ich bin nicht sicher, wie ich das in einem Thread implementieren soll, damit ich diesen Code wiederverwenden kann. Im Grunde möchte ich diesen Code in einem Thread haben. Ich kann eine einfache Datenbankabfrage im Thread erstellen, möchte aber etwas, das ich wiederverwenden kann. Kann mir jemand sagen, wo ich Beispiele dafür finden kann oder ob ich so freundlich bin, ein Beispiel zu liefern?

Hier ist meine Beispieldatenbankabfrage:

function TDBConnection.SQLOpen(const SQLStr: String): TDataSet;
var
  i: Integer
begin
  try
    Result := TADOQuery.Create(DBConnect.FDatabaseConection);
    TADOQuery(Result).Connection:=DBConnect.FDatabaseConnection;
    TADOQuery(Result).CommandTimeOut:=30;
    TADOQuery(Result).SQL.Text := SQLStr;
    TADOQuery(Result).Open;
  except

  end;
end;

Und dies ist ein Beispiel dafür, wie ich die obige Funktion aufrufe:

function TDBConnection.GetUserInfo: Boolean;
var
  sqlStr: String;
  Database: TDataset;
begin
  sqlStr:= 'SELECT FIELD1, FIELD2, FIELD3 FROM TABLE1';
  try
    Dataset := SQLOpen(sqlStr);
    if not Dataset.IsEmpty then
    begin
      //pass result to StringGrid
    end;
  finally
    FreeAndNil(SQLParams);
    FreeAndNil(Dataset);
  end;
end;

Antworten auf die Frage(1)

Ihre Antwort auf die Frage