delphi中我用定时器每隔一段时间执行操作

delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!adoquery.close;adoquery.sql.cleare;adoquery.connectio... delphi中,我用定时器每隔一段时间执行数据库插入及更新工作!
adoquery.close;
adoquery.sql.cleare;
adoquery.connection:=con1;
adoquery.sql.add('exec addery');
execsql;
上面的基本语句!
我的问题是:定时器执行时,在软件界面就会很卡,无法操作!请问是不是需要创建一个线程才能处理卡的问题呢?请大神们帮帮忙!非常感谢!如果是需要写线程,更希望能把线程也写出来!非常感谢!
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
HJ_3000
推荐于2016-05-13 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:54.3万
展开全部
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.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下扬州啊
2014-09-09 · TA获得超过2519个赞
知道大有可为答主
回答量:4870
采纳率:40%
帮助的人:2119万
展开全部
用数据库的机制去做
更多追问追答
追问
?你意思是用作业?
追答
是的,这样即使你程序关闭了,也不会影响定时的这个操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式