三层主从表数据存盘的问题(300分)

  • 主题发起人 主题发起人 glpttlb
  • 开始时间 开始时间
是吗,你说的这一点我还没有试过。我觉得应该Detail(子表).Fieldbyname('单 号').value:=这是一个付值语句,BeforeUpdateRecord与参数只能传一个数据集没有什么关系吧,应该试试看再说。我现在不方便测试没办法。
就算是这样的话。应该可以在主表数据集(当是在服务器层的数据集)BeforeUpdates事件中来改变明细表的单号呀。或者明细表本身的这一事件在也可以得到单号吧。或者在其它地方都应该可以做到这一点呀??
 
Detail(子表).Fieldbyname('单 号').value:=DeltaDs.Fieldbyname('单号').Value
这一句不可行的话。
将DeltaDs.Fieldbyname('单号').Value传给一个变量。再通过变量来传给子表行不行。
真的没道理呀Detail(子表).Fieldbyname('单 号').value :=这只是一个付值的行为呀??
 
to miker_fan
我也在考虑将DeltaDs.Fieldbyname('单号').Value传给一个变量
不知在多用户环境是否会冲突。
我用的是ado、com+
准备在MTS数据模块中建立一个方法
update(vdata1,vadata2)
在主表的TDatasetProvider的BeforeUpdateRecord事件中
DeltaDs.Fieldbyname('单号').Value传给一个变量
在子表的TDatasetProvider的BeforeUpdateRecord事件中取变量
不知在多用户环境是否可行,会不会同时有多个用户调用此MTS数据模块的方法,
那变量会不会乱套?


 
总之非常感谢,参与者都有分,能正确解决问题者可另加分,并用成熟源码交换,
本人有十多家商业单位使用四年之久的2层进销存源码(独立开发的delphi、vfp6),
当然也需有价值的源码交换。
 
我不知道你单号是什么计算来的。假如是计算流水号的话,那样的话都会有可能两个用户计算出了同一个流水号。
所以以上的方法当然如果多用户同时并发的话肯定会用那种情况出现的。但这种机会太少微少了。只能慢慢想办法解决。
真的不能那样直接Detail(子表).Fieldbyname('单 号').value:=DeltaDs.Fieldbyname('单号').Value 吗?
 
我也希望能直接Detail(子表).Fieldbyname('单 号').value:=DeltaDs.Fieldbyname('单号').Value,能给个例子吗?
longbin@gliet.edu.cn
 
难道你没收到我给你的例子吗?
 
楼主,我在开发过程中也遇到了和你类似的问题。
两个主从关系的表,主表的单号是自增的字段,只有在数据库服务器中存盘才会有值。
不知道怎么处理这个自增的字段啊
 
想问一下楼主,你在中间曾直接通过Tadoquery怎么处理这种情况的,可不可以详细的说说。
我是来听课的,^_^!
 
从表中单号不要写入,
先把主表与从表保存好,再用update语句来更改从表中的单号。
 
可能在客户端不用数据控制控件还比较好,在中间层中定义函数,数据库服务器中用存储过程,我看这样比较好,要不然你新增数据时,主从表的关联字段不好理
 
to 阿西喊佛 :
多谢,我现在在外休假,身边无开发环境,无法验证,我星期六回。不管如何很感谢你!由于本贴还未结,你先到http://www.delphibbs.com/delphibbs/dispq.asp?lid=1348692
谢谢。
不过有一点我忘了和你说,前端不能使用dcom等控件,因为我使用协调对象。
有机会真应请你吃饭,你在哪,是软件开发工作的吗?
 
to yue_shan
用detal效率高,其他方法我已解决。
to fan.zh
其实方法之一,前面已说过。
to fly555
你认为:从表中单号不要写入,先把主表与从表保存好,再用update语句来更改从表中的单号。
不可靠,效率也很低。另从表都已存盘了,如何知道与主表相应记录的联系。
这是2层结构的不合理做法.

 
呵呵,我过去了,客气了。
我在江苏的一个小地方,呵呵。
搞软件开发的,用Delphi + SQL Server 2000 + MIDAS/MTS/COM+搞三层数据库。
经验不足,还得多象你学习学习~
 
原来你还没有试,可惜我现在也没有办法试,因为我的台机坏了,而本本双太差了,跑不动。看来只有等你回来再试了,我觉得应该行吧。
 
虽然问题未解决,谢谢大家参与。
由于本人客户端不用数据控制控件,用协调对象,delphi的主从功能无法使用,
因此还是先用其他办法,希望以后多层进销存高手能多指导。
longbin@gliet.edu.cn
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部