About Master /Detail Table Sheet , Joined Tables Update One Table(100)

  • 主题发起人 主题发起人 bsense
  • 开始时间 开始时间
B

bsense

Unregistered / Unconfirmed
GUEST, unregistred user!
我们经常可能需要做一个Master Dataset 关联 Detail Dataset ,我的方案是Master Primary Key Bill_no 自编, Detail 3个键 ,id --自动, line_no 手动, bill_no 取master的 ,用了各种方法都不能实现完全正确的保存数据,难道只有Master + 第三个dataset 复制 Detail 数据 ,实现 先Delete 后 insert 方式吗? 有没有第2种方案?
 
我经常使用的方法有两种:1.在主表的afterScroll事件中写SQL语句显示子表数据,在子表中的OnNewRecord中赋值关联字段,其余按照常规操作2.三层架构中,无论是Datasnap2009还是传统的Midas,都支持一种所谓"巢状结构",即把子表数据当作主表一个字段形式存取,具体:在应用程序服务器端将主从表组件关联后,加入所有字段,在ClientDataSet中加入所有字段(FieldsEditor),子表对应的clientDataset不选择DataSetProvider,而是设置FieldName属性,可以完成自动存取.具体不同的Delphi版本,是不是需要手工加入子表关联字段的值需要自行测试
 
接受答案了.
 
后退
顶部