我有一个使用 firebird 2.3 用 Delphi 2010 / dbExpress 编写的主/详细应用程序我发现了一个问题
如果我在详细信息中有两个或三个或更多相同的数据行,更改其中一个中的任何数据也会更改其他行上的数据,我猜这是因为更新仅使用 invoice_id 和 serial 作为键和数据在两种情况下都相等,则更新在两种情况下完成。
主数据 Invoice_id, serial, customer_id, date 1, A, 1.12 / 12 / 2010
详细数据 Invoice_id,序列号,数量,描述,价格 1,A,10,一些东西的盒子,52.52 1,A,10,一些东西的盒子,52.52
我想我可以通过使用字段 ltes 名称 ir line_no 来解决这个问题,其中每一行都有不同的数字,因此可以区分数据以进行如下更新:
Line_no,Invoice_id,序列号,数量,描述,价格 1.1,A,10,一些东西的盒子,52.52 2.1,A,10,一些东西的盒子,52.52
所以信息是一样的,但它也有 line_no 来区分更新中的信息
任何人都知道在客户端,在客户端数据集中执行此操作的任何方法,
非常感谢和问候