我有一个查询代码,每当我需要从数据库中获取数据时我都可以调用它,我希望它是有线程的.不知道如何在一个线程中实现这一点,所以我可以重用这个代码,基本上,我希望这个代码在一个线程中.我知道如何在线程内创建一个简单的数据库查询,但想要一些我可以重用的东西.任何人都可以指出我可以在哪里找到这方面的例子,或者是否能够提供一个例子?
这是我的示例数据库查询:
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;
Run Code Online (Sandbox Code Playgroud)
这是我如何调用上述函数的示例:
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;
Run Code Online (Sandbox Code Playgroud)