PDA

View Full Version : یک ترفند جالب به کمک thread برای اجرای کوئری



ahmad1358
دوشنبه 04 آبان 1388, 22:15 عصر
با سلام
من داشتم برای یه مشکلی که داشتم تو سایت http://www.delphi3000.com جستجو میکردم که مطلب زیر رو در مورد اجرای یه کوئری در background نوشته بودن.



uses ...;
type
TOpenQuery = Class(TThread)
Public
constructor Create(Q: TADOQuery;sSQL: String);
protected
tQry: TADOQuery;
tSQL: String;
procedure Execute; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}

{ TOpenQuery }

constructor TOpenQuery.Create(Q: TADOQuery; sSQL: String);
begin
inherited Create(False);
FreeOnTerminate:=True;
tQry:=Q;
tSQL:=sSQL;
end;

procedure TOpenQuery.Execute;
begin
inherited;
Screen.Cursor:=crAppStart;
with tQry do
Begin
SQL.Text:=tSQL;
Open;
End;
Screen.Cursor:=crDefault;
end;




اینم لینک
http://www.delphi3000.com/articles/article_4563.asp?SK=

ahmad1358
سه شنبه 05 آبان 1388, 19:03 عصر
البته طریقه استفاده اون برای افرادی که نمیدونن اینه که این کد رو در یه یونیت جدید وارد کنید .سپس در برنامه اصلی برای اجرای کوئری باید به این صورت تابع را صدا بزنید.



TOpenQuery.Create(ADOQuery1,query);