在一个健壮的企业级应用程序中,对事务的处理极其重要。假如您正预备开发企业级应用程序的话,您最好多了解一些关于这方面的内容;当然也希望我的文章对您有所帮助,那么实际解决方案中有哪些地方需要用到事务呢?
为了数据库中每个企业实体数据的完整型,我们通常会在设计数据库时定义一系列主外键及一些规则等;其中主外键的设定最重要,理论上说靠这些约束是可以保证单个数据实体的完整型了,似乎事务用不用已无关紧要了,可事实上这样程序是缺乏健壮性的,为此我们必须视数据库中定义的种种约束为一种保险,而为了整个解决方案的可靠性、优越性我们必须再使用事务。
假如您的程序会碰到以下情况时,你最好应考虑事务:
一. (典型)在写入一条有定单型数据时(主从关系)您最好在业务逻辑层或数据访问层使用事务
方法1:使用OleDBTransaction
方法2:使用COM+事务(怕麻烦用方法1)
二. 在写入一条有外键约束的数据时,您最好这样处理
1. BeginTran();//加锁
2. 判定外键关联数据是否存在
3. 根据第二步进行决定是否写入数据
4. Commit() ; 或 RollBack();
......
在这里我不想多举例,再就上述第2种情况说一点自己的看法:
有些人认为这种做法似乎多余,对,看上去是;但这样做后你的程序很健壮、可读性好并且可以大大降低数据库端瓶颈;