我将数据库的操作 业务逻辑封装到业务类中,然后在界面单元中引用业务逻辑单元文件。
现在的情况是,我的一个界面的按钮点击事件中,将执行三个业务操作,其中两个来自业务类A,一个来自业务类B。
此界面单元都已经引用了两个业务类的单元文件,且将这两个业务类作为自己的成员变量。那这样的情况,如何使用事务进行处理呢?这三个逻辑操作要么是全部操作成功,否则,全部撤销..
请高手指点?
现在的情况是,我的一个界面的按钮点击事件中,将执行三个业务操作,其中两个来自业务类A,一个来自业务类B。
此界面单元都已经引用了两个业务类的单元文件,且将这两个业务类作为自己的成员变量。那这样的情况,如何使用事务进行处理呢?这三个逻辑操作要么是全部操作成功,否则,全部撤销..
请高手指点?
解决方案 »
- 一个应用程序只能打开一次,是什么样原因,在程序中没有查询到互斥条件
- 求教:ACCESS中查询 SQLSERVER中的数据的问题
- TObjectList 控件使用中的一个问题。怪!
- 关于DBCHART的使用
- 各位老大帮忙!!!!
- 下载了GraphicEx 9.1 的控件包,硬是不知道如何安装,只有PAS和DCU文件,不知怎么用啊
- 如何发短消息?
- 请教各路大侠,我现在有两个一样的.ini文件,但不同目录,想问一下在Delphi中文件拷贝怎样实现?
- Tregister的GetKeyNames出错,哪位大虾看一看?
- 急!中专毕业怎样才能报高程的资格考试?
- 水印和水印报表是什么?请教 谢谢!
- pagecontrol 的一个问题 ??
TB=class//业务类B
TC=class
private
FA:TA;//把A放到TC的内置类中,在构造函数中初始化
FB:TB;
public
Constructor Create;
Destroy destroy;
procedure ExecuteBusiness;
end;procedure TC.ExecuteBusiness;
var
DbOperation:TDatabaseInterface
begin
//业务处理,使用对象的缓存功能
DbOperation:=TDatabaseInterface.Create
DbOperation.DBBroker();
end;TDatabaseInterface=class
public
function DBBroker(SQL);//把该函数加上事务,这样当想要把缓存内的业务对象持久化时,可调用这个函数来处理
end;
你这个解决方法,那不是要在界面单元中开启?在界面单元中引用DataModule
然后Datamodule1.ADOConnection1.BeginTrans??这样是不是违背了界面和业务逻辑分离了?笑青天的,我要 研究下,他的方法我没用过