2011-05-20 149 views
0

我正在用c#編寫我的第一個數據庫應用程序,並且我必須使用MS Access數據庫,我有兩個表發票和訂單表是一個子表。發票是一個父表,它具有自動列的關鍵字列「InvoiceNumber」,它與訂單表列「InvoiceNumber」具有一對多關係。我遇到的問題是,我得到了在該行TableAdapterManager和MS Access中的相關表格

tableAdapterManager.UpdateAll(database1DataSet); 

當我嘗試添加一個新行,然後點擊保存異常,

"You cannot add or change a record because a related record is required in table 'Invoice'." 

我試圖尋找,但我無法找到它對MS訪問數據庫有幫助,其中大部分都是SQL數據庫。我還找到了一種解決方案來編輯​​數據集設計器中的關係,以選擇「關係和外鍵約束」選項,但它對我也不適用。

感謝

+0

看起來像您添加沒有填充外鍵列的值的行。添加代碼,添加新行到表 – zabulus 2011-05-20 06:50:11

+0

@zabulus,因爲關係是父子,所以當我點擊保存按鈕時,tableAdapterManager更新父表,以便它獲得該行然後將更新發送到子行,所以記錄必須出席。我想先使用tableAdapter.update(),然後再使用child,但它也沒有工作。 – Ahmed 2011-05-20 06:57:06

回答

0

確保您OleDbParameters設置是否正確,在正確的對應順序在數據庫中的表中的列。如果您在添加數據庫時使用Visual Studio自動生成數據源代碼,然後將表格拖放到表單上,請檢查<database name>DataSet.Designer.cs文件。它會教你所有你需要知道的。