如何使用嵌套表NESTEDTABLE?(100分)

  • 主题发起人 主题发起人 落花流水
  • 开始时间 开始时间

落花流水

Unregistered / Unconfirmed
GUEST, unregistred user!
表1字段:发票号/客户/运输方式/船期
表2字段:对应表1某发票号项下的 订单号/货号/产品名称/数量/箱数/单价/金额

因为每个发票号下可能有很多订单号、货号、产品,所以想在表1中增加一数据集字段
(DataSetField),使该字段指向表2,形成嵌套数据表(NestedTable)。

问题:
1。如何在设计期创建表1的数据集字段?(我在用字段编辑器《Fields Editor...》中创建
DATASET字段,在将表1的ACTIVE属性设置为TRUE时,会出现“FIELD ‘。。。’ NOT FOUND
的错误,且在SQL EXPLOREER中不显示该字段)

2。按照前面的思路,该怎样操作(设计期)整个过程?有其他更好的设计(数据库)或解决办法吗?

菜鸟一只,100分送上!

谢谢![:(][:(][:(][:(][:(][:(][:(][:(][:(][:(][:(][:(][:(]
 
这问题是不是太简单了?100分没人要吗?
 
200分全送出,有大虾愿意帮忙吗?
 
其实这是一个主从表,只要在表二中加一个字段:'发票号'作为外部关键字就行了.然后把
表二的发票号与表一的发票号相关联就可以了.具体关联的方法,可以在设计数据库时实现,
也可以在运行时实现,可以用Ttable组件实现,也可以用Tquery组件实现.
Trable组件的实现方法如下:
在表二的发票号上建一个索引,然后把表二的发票号与表一的发票号相关联就可.
Tquery组件的实现方法如下:
QUERY1的sql是:SELECT * FROM 表一
QUERY2的sql是:SELECT * FROM 表二 WHERE 发票号=:发票号
把DataSource1的数据集属性设为query1
把query2的DataSource的属性设为DataSource1.就ok了.
 
pjprobbi兄说了意思,但不够正确,
应该把这联接字段排除在商业逻辑之外,也就是说应该另设一个与用户操作无关的字段
——在主表及从表都建一个名为ID的字段,这个字段自动生成值,且不能为用户所可见
及修改。这样就避免了在主从表结构设计,经常会出现的主从表联接字段级联更新的问
题。如果你是用BDE,可以看看DELPHI自带的示例程序MASTAPP,在DEMO目录下。
主从表的应该用缓存更新及事务管理相结合的模式更好一些……
 
谢谢二位:QCEANWAVE 和 PJPROBBI!还有个问题想请教:既然这个可用主从表来实现,那么
,嵌套表和主从表之间有什么区别呢?谢谢!
 
非常感谢oceanwave兄的不吝指教.我的qq是58725510,希望能与各位在程序方面
互相探讨.
 
多人接受答案了。
 
后退
顶部