我的一段代码如下,在FROMCREATE事件里ADOConnection1.Open;procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.BeginTrans;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from test');
ADOQuery1.Open;
end;打开两个该实例,第一个点击该按钮没有任何提示,这是正常的,
第二个实例也点击这个按钮,第一次点的时候没有提示(前一个事务没有结束,按理来说应该有信息提示才对呀),直到第二次点击的时候才提示‘不能运行多个事务’这样的提示,难道事务是对于单个进程的而言的吗?
begin
ADOConnection1.BeginTrans;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from test');
ADOQuery1.Open;
end;打开两个该实例,第一个点击该按钮没有任何提示,这是正常的,
第二个实例也点击这个按钮,第一次点的时候没有提示(前一个事务没有结束,按理来说应该有信息提示才对呀),直到第二次点击的时候才提示‘不能运行多个事务’这样的提示,难道事务是对于单个进程的而言的吗?
至于你说的ADO连接数据库时,ADO控件执行这个事务,此时数据库是开一个线程来处理该事务;因此,跟你打开多个进程是没多大关系的。