2009-05-05 97 views
1

我使用的是Delphi 7 + Zeos + MySQL,當我嘗試發佈主表時,首先發布了詳細數據集,引發了數據庫中的引用完整性異常,需要主表的ID。主/細節行爲

我可以恢復這種行爲嗎?我可以在詳細信息之前堅持主表嗎?

+0

請告訴我們的代碼 – 2009-05-06 15:04:53

+0

沒有必要做這是默認行爲,每次我嘗試使用這種方式時,我都遇到了同樣的問題。 – 2009-05-06 20:37:36

回答

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;