delphi中我用定时器每隔一段时间执行操作
delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connectio...
delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!
adoquery.close;
adoquery.sql.cleare;
adoquery.connection:=con1;
adoquery.sql.add('exec addery');
execsql;
上面的基本语句!
我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢! 展开
adoquery.close;
adoquery.sql.cleare;
adoquery.connection:=con1;
adoquery.sql.add('exec addery');
execsql;
上面的基本语句!
我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢! 展开
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ADOConnection1: TADOConnection;
procedure BitBtn1Click(Sender: TObject);
private
public
end;
Type
TAdoExec = Class(TThread)
Private
Public
Protected
Procedure Execute; Override;
End;
var
Form1: TForm1;
implementation
uses ActiveX;
{$R *.dfm}
{ TAdoExec }
procedure TAdoExec.Execute;
begin
Inherited;
ActiveX.CoInitialize(Nil);
Try
With TADOQuery.Create(Nil) Do
Begin
ConnectionString :=
'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TEST;Data Source=.';
SQL.Add('Select * From Tree');
ExecSQL;
Free;
End;
Finally
ActiveX.CoUninitialize;
Terminate;
End;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
TAdoExec.Create(False);
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ADOConnection1: TADOConnection;
procedure BitBtn1Click(Sender: TObject);
private
public
end;
Type
TAdoExec = Class(TThread)
Private
Public
Protected
Procedure Execute; Override;
End;
var
Form1: TForm1;
implementation
uses ActiveX;
{$R *.dfm}
{ TAdoExec }
procedure TAdoExec.Execute;
begin
Inherited;
ActiveX.CoInitialize(Nil);
Try
With TADOQuery.Create(Nil) Do
Begin
ConnectionString :=
'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TEST;Data Source=.';
SQL.Add('Select * From Tree');
ExecSQL;
Free;
End;
Finally
ActiveX.CoUninitialize;
Terminate;
End;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
TAdoExec.Create(False);
end;
end.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用数据库的机制去做
更多追问追答
追问
?你意思是用作业?
追答
是的,这样即使你程序关闭了,也不会影响定时的这个操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询