设定的时间是从sqlserver2000数据库中提取的,字段名为:kssj(开始时间),它是datetime类型的,格式例如:2008-10-20 10:19:31怎么利用timer控件来相应
如果当前系统时间等于从数据库中提出来的时间,然后响应一个事件,或者弹出窗口也行啊
怎么实时控制啊
如果当前系统时间等于从数据库中提出来的时间,然后响应一个事件,或者弹出窗口也行啊
怎么实时控制啊
解决方案 »
- ShellListView应用的两个问题
- delphi新手[求数据库例程]
- ado 连接操作dbf文件
- idhttp post 成功后为什么接下来的get内容都变成post了?(困惑)
- 关于adoconnection连接问题
- 如何向word模板里指定位置写入文字或者画图形
- 用query访问sqlserver为什么说table is read only?
- 我用这段代码将文件类型关联到自己的程序,可以打开,但是文件没有图标???
- Rational Rose能生成Delphi代码吗?
- 求xe5 连接手机真机问题
- 谁有D7环境下收发电子邮件的原代码吗>谢谢!
- 在线等,关于在Delphi导入Excel到StringGrid的问题。(附源代码)
2.TTimer 元件設定五秒觸發一次
3.在 TTimer 觸發時讀取 sql2000時間 kssj , kssj-5 >= NowTime >=kssj+5 條件成立則去執行你要的程式
①怎么设定到SQL2000讀取時間資料的取样时间啊
是不是要给它这个功能另外用一个Timer控件来设定啊
对于Ttimer触发时间我倒知道就是设定
timer.interval:=500;(半秒钟)②还有从sqlserver中可能取出多条记录,在哪个地方用这个条件:kssj-5 >= NowTime >=kssj+5
下来触发一个事件啊③可以在timer的Timer1Timer事件下写sql语句对数据库进行修改吗
我的代码如下:
procedure TMainForm.Timer2Timer(Sender: TObject);
var
VarTime,yjkssj,rwID,zxrbs:string; //VarTime是变化时间
begin
VarTime := dateTostr(now)+' '+timetostr(Time);
//查询任务预计开始时间
with ADOQuery4 do
begin
close;
SQl.Clear;
SQL.Add('select a.jhgzbs rwID,yjkssj,zxrbs from hrp_xmjhb a,hrp_rwzxrb b where a.jhgzbs=b.jhgzbs and rwlxbs=2 and rwztbs=6');
open;
if adoquery4.RecordCount>0 then
while not adoquery1.Eof do
begin
rwID:=adoquery1.FieldByName('rwID').AsString;
yjkssj:=adoquery1.FieldByName('yjkssj').AsString;
zxrbs:=adoquery1.FieldByName('zxrbs').AsString;
if yjkssj=VarTime then
begin
with ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.Add('update hrp_fpgzb set cybs= '''+zxrbs+''' where jhgzbs='''+rwID+'''');
ExecSQL;
end;
with ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.Add('update hrp_xmjhb set rwlxbs=3,rwztbs=7 where jhgzbs='''+rwID+'''');
ExecSQL;
end;
timer2.Enabled:=false;
showmessage('任务已分配');
end;
ADOQuery4.Next;
end;
end;
end;
yjkssj:是预计开始时间
思想是这样的我想在while not adoquery1.Eof do 循环中判断当前时间和从数据库中取出的yjkssj时间是否相同
如果相同的话执行上面写的那些语句
就是说每次都取出多条记录,依次来判断,不设定timer的interval时间可以实现我说的功能吗
楼上我刚才发的有点错误:
修改如下:
procedure TMainForm.Timer2Timer(Sender: TObject);
var
VarTime,yjkssj,rwID,zxrbs:string; //VarTime是变化时间
begin
VarTime := dateTostr(now)+' '+timetostr(Time);
//查询任务预计开始时间
with ADOQuery1 do
begin
close;
SQl.Clear;
SQL.Add('select a.jhgzbs rwID,yjkssj,zxrbs from hrp_xmjhb a,hrp_rwzxrb b where a.jhgzbs=b.jhgzbs and rwlxbs=2 and rwztbs=6');
open;
if adoquery1.RecordCount>0 then
while not adoquery1.Eof do
begin
rwID:=adoquery1.FieldByName('rwID').AsString;
yjkssj:=adoquery1.FieldByName('yjkssj').AsString;
zxrbs:=adoquery1.FieldByName('zxrbs').AsString;
if yjkssj=VarTime then
begin
with ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.Add('update hrp_fpgzb set cybs= '''+zxrbs+''' where jhgzbs='''+rwID+'''');
ExecSQL;
end;
with ADOQuery3 do
begin
Close;
SQL.Clear;
SQL.Add('update hrp_xmjhb set rwlxbs=3,rwztbs=7 where jhgzbs='''+rwID+'''');
ExecSQL;
end;
timer2.Enabled:=false;
showmessage('任务已分配');
end;
ADOQuery1.Next;
end;
end;
end;
大家看一下这个有什么问题吗