我想用两个定时器:
timer1:定时每隔一段时间读取数据库表1中的数据
timer2:定时每隔一段时间修改数据库表1中的数据
但是大家知道,对同一张表不能同时读数据和修改数据的吧,否则会数据不一至.那么谁能告诉我在delphi里如何实现对同一张表的互斥访问呢.要求:当timer1里的程序对表操作的时候若timer2也要对表操作,那么timer2一直等待(就象进程阻塞),不能退出操作,直到timer1处理完毕,timer2开始对表进行操作
timer1:定时每隔一段时间读取数据库表1中的数据
timer2:定时每隔一段时间修改数据库表1中的数据
但是大家知道,对同一张表不能同时读数据和修改数据的吧,否则会数据不一至.那么谁能告诉我在delphi里如何实现对同一张表的互斥访问呢.要求:当timer1里的程序对表操作的时候若timer2也要对表操作,那么timer2一直等待(就象进程阻塞),不能退出操作,直到timer1处理完毕,timer2开始对表进行操作
while (数据集为非读状态) do
begin
//进行修改表操作!
end;
在timer2中加入一个这样的代码!
while (数据集为非写状态) do
begin
//进行修改表操作!
end;
至于怎么捕捉数据的状态,你可以用qry.state in [],其中[]的内容可以为dsInsert,dsEdit!
具体的参数 ,你可以参考以下state方法的用法!
timer1中加入一个这样的代码!
while (数据集为非写状态) do
begin
//读取数据库表1中的数据!
end;
在timer2中加入一个这样的代码!
while (数据集为非读状态) do
begin
//修改数据库表1中的数据!
end;
至于怎么捕捉数据的状态,你可以用qry.state in [],其中[]的内容可以为dsInsert,dsEdit!
具体的参数 ,你可以参考以下state方法的用法!