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;