我使用的是Delphi 7 + Zeos + MySQL,当我尝试发布Master表时遇到问题,详细数据集首先发布,在数据库中引发了参照完整性异常,'couse详细信息表需要ID主表。
我可以恢复此行为吗?我可以在详细信息之前坚持主表吗?
答案 0 :(得分:1)
我认为这只是TDataSet
的工作方式。如果您有未发布的详细记录,那么主人。Post
会强制他们Post
,如果我没记错的话。
所以我猜你有类似的东西:
tblMaster.Insert;
tblMaster.FieldByName('foo').Value := 'foo';
tblDetail.Insert;
tblDetail.FieldByName('bar').Value := 'bar';
tblMaster.Post; // error!
tblDetail.Post;
您应该可以通过首先发布大师来解决这个问题:
tblMaster.Insert;
tblMaster.FieldByName('foo').Value := 'foo';
tblMaster.Post;
tblDetail.Insert;
tblDetail.FieldByName('bar').Value := 'bar';
tblDetail.Post;