三层高手快快看过来。我做的三层销售主从表的删除功能不正常其他功能(保存,增加等)均正常 (会不会是access2000做巢状数据不行呀?) (30分)

  • 主题发起人 主题发起人 fly555
  • 开始时间 开始时间
F

fly555

Unregistered / Unconfirmed
GUEST, unregistred user!
是什么原因呢?
 
先把对应从表的内容删掉
 
你说的好象不对吧,
从表对应的内容已作为主表的一个字段了,
怎样册除?
请问你有没有作过三层主从表?
 
一样要删掉,你怎样编辑的
就怎样删掉了
 
建议你不要用主从表
 
从表有数据,不让删除。
解决方法有两个:
1、编辑主、从表的关系,改为级联删除
2、先删除从表,在删除主表中的数据
不要用ADO控件实现数据表的关系,直接做到数据库中较好
 
我也刚做完一个进销存的三层结构给你个建议。尽量简单化。有的事情系统帮你做也不一定比你自己做好呀。象这种情况 针对子表
我的办法是子表使用一个新的数据源, 其SQL语句是 SELECT * FROM MINI_IN_STOCK where in_no=:inno
更换主单时对这个更新这个数据源的参数就行了,当然这样时有一点要注意的就是
从表也要使用APPLYUPDATE语句来更新了。
---------------
虽然从表是主表的一个字段了但那是逻辑的你一样可能把这个DATA赋值给一个CLIETNDATSET
然后将它每条记录删除,POST后再回传给主表的data
因为这个DATA的DELTA属性中包含变动记录(也就是所有有关从记录的删除记录),系统用它更新时就会在后台执行删除操作了,
 
to sward:
-----------------
你的原话:
我的办法是子表使用一个新的数据源, 其SQL语句是 SELECT * FROM MINI_IN_STOCK where in_no=:inno
换主单时对这个更新这个数据源的参数就行了,
----------------
请问你是怎样更新数据源的?什么时候更新?怎样更新?

我在发票从表中也是这样做的:
adoqueryxsdzb.sql:=select * from xsdzb where xsdid =:xsdid
我发现从表作为主表一个字段后,
在执行保存时,
只要保存一下主表,
则子表自动保存了。
当要在子表中增加一行时,
首先将它post,实际上并未写入数据库。
等到主表保存时,子表自动被写入数据库了。
----------
你的原话:
从表也要使用APPLYUPDATE语句来更新了。
-----------------
我的从表保存并没有用到applyupdate,与你的方法不同,但是正确地保存了。



 
我的做法是三层的主从表维护和两层类似,不把从表作为主表的一个字段来处理,删除时候就先把从表请空再删除主表数据就ok了。
 
你可以采用前台删除用(clientdataset1.delete),但不用applyupdate,直接发送一条
sql语句在后台直接删除,那样速度还快
 
不是删除快不快的问题,
而是删除不起来了,
我这样试了一下:
在一张发票中,
先点edit, 执行删行(也就是删除子表数据),将这张发票中的所有条目子表)
都删除了,然后再点删除发票提示依旧:
cannot delete master record with details.
????????????
 
fly555,
我处理的方法是表单单头用一个数据源 cds_in_stock
其SQL语旬是 select * from in_stock where 你的查询条件
表单的下属项目用另一个数据源 cds_in_mini_stock
其SQL语句是 select A.*,B.codename from in_mini_stock a,stock b
where a.codeid=b.codeid and a.in_no=:in_no
用GRID来浏览或定位用一个数据感知元件来接收 INNO,在它的CHANGE事件中
对从表进行重新打开
with dm.cds_in_mini_stockdo
begin
close;
params.parambyname('in_no').asstring:=dnm.cds_in_stock.fieldvalues['inno'];
open;

end ;
因为这时这两个CDS对程序来讲是独立的因为你要分别做APPLYUPDATE
如果你使用巢状数据时,从表实质上是主表的一部分因为只做主表的APPLYUPDATE就行。
 
会不会是access2000做巢状数据不行呀?)
 
是直接删除上次执行程序输入的记录
还是删除这次输入、修改的记录?
 
删除整张发票
包括发票头表与子表。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部