在GRID中更新多个数据表。(修改,删除都可以,只是插入数据有问题)(100分)

  • 主题发起人 主题发起人 lsha
  • 开始时间 开始时间
L

lsha

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用DELPHI中的示例数据表ORDERS(订单),CUSTOMER(客户),EMPLOYEE(雇员),其中订单表
关联客户与雇员,即客户号与雇员号为订单表的外键,利用以上关系就可以将上面三表连接
起来。如下:
1.query1:sql属性为连接以上三表的SQL语句。
2.用三个UPDATASQL控件分别控制以上三表的增,删,改。即填写以上三表的MODIFY,INSERT,
DELETE的SQL语句。

问题:
由于是将三表分开控制,就无法填写订单表中的两外键(客户号,雇员号),就破坏了数据
的完整性。
其实在李维所编写的《分布式多层应用系统篇》就有这样一个例子,只不过是三层的,但是
他也没有解决插入的问题,只是修改,删除可以,我是完全仿照他所编写的三层中更新多个
数据表的例子,将其用在两层中,但是我也没得想到解决插入问题的办法,而在实际需求中
可能会碰上此类应用。
恳请各位大虾相助,这个问题困扰着小弟多时。

 
更改插入表的次序吧,当然要先向CUSTOMER(客户),EMPLOYEE(雇员)插入数据,才能
向ORDERS(订单)中插入。
 
我已经按照这个次序在做,只是以上三表的数据只能保存到各自的数据表中,而ORDERS(订单)
表中需要其他两表的主键值来维持数据的完整性,也就是说要在插入数据时,要把CUSTOMER
(客户)表中的CUSTNO(客户号)和EMPLOYEE(雇员)表中的EMPNO(雇员号)所新增的内容,
插入到ORDERS(订单表)中的CUSTNO,EMPLOYEE两字段中,即填写ORDERS中的外键值,来保持数
据完整性。
请各位大虾多多指教。
 
》要把CUSTOMER(客户)表中的CUSTNO(客户号)和EMPLOYEE(雇员)表中的
》EMPNO(雇员号)

我不明白,在向CUSTOMER(客户)EMPLOYEE(雇员)插入时程序不记录CUSTNO(客户号)
EMPNO(雇员号)的吗?
 
接受答案了.
 
后退
顶部