FineUI 官方论坛

标题: 主从表保存问题 [打印本页]

作者: boy221100    时间: 2014-4-2 13:06
标题: 主从表保存问题
本帖最后由 boy221100 于 2014-4-2 13:06 编辑

请教大家个问题,关于主从表,一个主表,一个子表(grid)
主表记录与子表记录是1对多。
表单保存时怎么处理比较好。
网上找了半天,就说了一个办法:首先启用事务管理
新增:
1、设置当前操作状态为insert
2、先插主表记录,
3、获取主表ID
4、再插入子表记录
修改、删除
1、设置当前操作状态为update
2、根据主表id,把主表字段更新一遍;
3、根据子表记录状态,如果是跟新的记录,把子表字段更新一遍(通过循环语句拼SQL,一条一条记录更新);
4、根据子表记录状态,如果是删除的记录,把子表字段删除(通过循环语句拼SQL)

问题:1、新增时,先要插主表,返回主表ID,再插入字表,这样要先与数据库交互一次,因为这个主从表肯定要进行事物控制的,效率低下,这咋办?
2、修改,删除明细记录时,把主从表所有字段都更新一遍,但是我可能只改了一个字段,SQL是不是多余的,很浪费资源?
3、查询字段记录状态,把记录集放在DATETABLE里,很浪费效率?

能不能提供个办法?
1、新增时,系统自动拼成一段sql,一起插入。但是这个主表关键字怎么处理?
2、修改,删除时,自动检查字段修改情况,哪条记录更新,哪个字段更新,哪条记录被删除,就处理哪部分,不要全部循环拼SQL

目前我知道的一个软件:用友的U8
处理方式:
1、新增,主表和子表生成XML,主从表ID通过存储过程生成,最后通过XML拼成SQL插入进数据库。
2、修改,删除时,数据集保存在XML中,检查XML的状态,哪个字段有变动,哪个记录有变动,就处理哪个。
大神们,能不能给我个方案,或者给个思路,谢谢啊。









作者: boy221100    时间: 2014-4-2 13:09
EF框架是不是能很好的解决?
作者: leetle    时间: 2014-4-8 22:12
需要好的解决方案,可以找我 909994561




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4