在Visual Studio Designer中,我創建了一個具有2個DataTable的DataSet; EmployeeDT
和PayrollSheetDT
它通過SELECT語句從SQL Server中提取數據。這兩個DataTable通過SSN
列有關係。C#幫助用外鍵填充數據表
相關的SQL Server數據庫結構:
- 表:
Employee
,列:SSN
(主鍵),Driver
- 表:
PayrollSheet
,列:SSN
(外鍵),PSDate
在我的PayrollSheet表單中,我有多個組合框,我綁定了DataSource,DisplayMember
和DataTable的數據表的。當我啓動程序時,我成功地單擊「Driver」組合框中的向下箭頭,選擇一個驅動程序名稱,並讓其他組合框顯示該驅動程序/ SQL記錄中的信息 - 因爲它們綁定到相同的DataSource。
我還在組合框旁邊有一個列表框,目標是顯示PSDate
,無論在組合框中選擇了SSN
。
列表框是我的問題。我需要能夠更改任何組合框中的值,並將PSDate顯示在列表框中。我不知道這是否可以完成,因爲PayrollSheetDT
DataTable執行靜態SQL查詢,但我想要的是相當於添加一個WHERE SSN = <selected ssn in other datatable>
我沒有很好的理解如何做到這一點,但如果我嘗試填補TableAdapter
,我得到以下錯誤:
One or more rows contain values violating non-null, unique, or foreign-key constraints.
感謝您的幫助
你100%正確,PSDate在SQL數據庫中被標記爲NOT NULL。一旦解決了,一切都按預期工作。非常感謝你! – user1429195 2013-03-10 16:27:28