我掌握了主要细节
CachedUpdates
为主true
CachedUpdates
详细了解true
DetailCascde
详细了解true
主人处理一项记录:
select * from orders where order_id=:order
首先,我将-1作为伪参数传递以获得空的主记录:
orders.Close;
orders.Params[0].AsInteger := -1;
orders.Open;
比起我用-1填充订单ID来建立母版和明细之间的关系:
orders.Append;
orders.Fields[0].AsInteger := -1;
orders.Post;
我成功插入了Append
和Post
问题出在Firebird数据库中,在为主服务器插入触发器之前,我在这行代码上
new.order_id = coalesce((select max(order_id) from orders) + 1, 1);
我ApplyUpdates
Orders.ApplyUpdates(-1);
dOrder.ApplyUpdates(-1);
因此,当我对主服务器应用更新时,由于服务器更改了主服务器ID,因此该详细信息将不适用。
如何解决这种情况?