在没事的时候自己很喜欢去看看以前写的代码,最近在看到对多表插入的数据的时候有了点疑惑,特拿出来让大家帮我分析一下。现在有3张数据表,分别是:A,B,C
业务规则是:这3张表彼此之间是有关联的。在进行存储的时候,需要先对A表进行插入,如果成功那么就返回A.ID;然后把A.ID插入到B表的AID字段中,然后对B表进行插入操作,如果B插入成功就把返回的B.ID插入到C中的C.BID;然后对C表进行插入操作,如果成功就把把这个事务COMMITE,否则ROLLBACK.我 以前的处理方法时候通过传递一个事务参数,给执行插入操作的方法,这样就保证他们是在同一个事务进行。那样做也有个弊端就是让数据层保露给页面层。
现在我有个想法就是:是否可以在页面只把要输入的数据传递给一个List<>,那样我就可以把事务在底层进行封装。如果成功的时候我就返回一个DataSet,里面包含刚才插入到表的数据记录。
现在的遇到的困难就是:在页面层他们怎么建立主键和外键的关系?有怎么传递给数据 处理层那?数据层又怎么来对传递过来的List<>进行分解那?
希望各位达人进行解决一下!!!!!
业务规则是:这3张表彼此之间是有关联的。在进行存储的时候,需要先对A表进行插入,如果成功那么就返回A.ID;然后把A.ID插入到B表的AID字段中,然后对B表进行插入操作,如果B插入成功就把返回的B.ID插入到C中的C.BID;然后对C表进行插入操作,如果成功就把把这个事务COMMITE,否则ROLLBACK.我 以前的处理方法时候通过传递一个事务参数,给执行插入操作的方法,这样就保证他们是在同一个事务进行。那样做也有个弊端就是让数据层保露给页面层。
现在我有个想法就是:是否可以在页面只把要输入的数据传递给一个List<>,那样我就可以把事务在底层进行封装。如果成功的时候我就返回一个DataSet,里面包含刚才插入到表的数据记录。
现在的遇到的困难就是:在页面层他们怎么建立主键和外键的关系?有怎么传递给数据 处理层那?数据层又怎么来对传递过来的List<>进行分解那?
希望各位达人进行解决一下!!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货