逐步解說:在 Windows Form 應用程式中建立查閱資料表
查閱資料表 (Lookup Table) 的作用是根據另一個資料表中的外部索引鍵欄位值,顯示某個資料表的資訊。讓我們以銷售資料庫中的 [訂單] 資料表為例作說明。在 [訂單] 資料表的每筆資料錄都包含 CustomerID,表示下訂單的客戶。CustomerID 是外部索引鍵,指向 [客戶] 資料表中的客戶資料錄。呈現訂單清單 (從 [訂單] 資料表) 時,您可能要顯示的是實際客戶名稱,而不是 CustomerID。因為客戶名稱位於 [客戶] 資料表中,而且您要顯示來自 [訂單] 資料表的資料,所以您必須建立查閱資料表,此資料表會採用 [訂單] 資料錄中的 CustomerID 值,並且使用此值來巡覽關聯性,並傳回更容易分辨的客戶名稱。這個概念就稱為查閱資料表。
逐步解說將說明的工作包括:
建立新的 [Windows 應用程式] 專案。
利用資料來源組態精靈建立和設定資料集。
選取當從 [資料來源] 視窗拖曳項目時,要在表單上建立的控制項。如需詳細資訊,請參閱HOW TO:設定從資料來源視窗拖曳時要建立的控制項。
從 [資料來源] 視窗將項目拖曳至表單上,即可建立資料繫結控制項。
將關聯資料表置放在透過外部索引鍵關聯繫結的控制項上,藉以設定查閱資料表。
必要條件
若要完成這個逐步解說,您需要:
- Northwind 範例資料庫的存取權。如需詳細資訊,請參閱HOW TO:安裝範例資料庫。
建立新的 Windows 應用程式
若要建立新的 Windows 應用程式專案
從 [檔案] 功能表中,建立新專案。
將專案命名為 LookupTableWalkthrough。
選取 [Windows 應用程式],並按一下 [確定]。如需詳細資訊,請參閱開發用戶端應用程式。
LookupTableWalkthrough 專案便會建立,並加入 [方案總管] 中。
建立新的資料來源
建立資料來源
按一下 [資料] 功能表上的 [顯示資料來源]。
在 [資料來源] 視窗中,選取 [加入新資料來源],以啟動 [資料來源組態精靈]。
請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。
在 [選擇資料連接] 頁面上,執行下列其中一項動作:
如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。
-或-
選取 [新增連接],啟動 [新增/修改連接] 對話方塊。如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)。
如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。
按一下 [將連接字串儲存到應用程式組態檔] 頁面上的 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取 [Customers] 和 [Orders] 資料表,再按一下 [完成]。
[NorthwindDataSet] 會加入專案中,且這些資料表會出現在 [資料來源] 視窗中。
在表單上建立資料繫結控制項
若要在表單上建立資料繫結控制項
在 [資料來源] 視窗中,展開 [Customers] 節點。
從 [Orders] 節點的控制項清單選取 [詳細資料],即可將相關 [Orders] 資料表的置放類型變更為 [詳細資料]。如需詳細資訊,請參閱HOW TO:設定從資料來源視窗拖曳時要建立的控制項。
展開相關 [Orders] 節點,並藉由在 [CustomerID] 節點的控制項清單中選取 [ComboBox],將 [CustomerID] 資料行的置放類型變更為下拉式方塊。
從 [資料來源] 視窗,將相關的 [Orders] 節點拖曳至 [Form1]。
具有描述性標籤的資料繫結控制項以及用於巡覽資料錄的工具區域 (BindingNavigator) 會出現在表單上。NorthwindDataSet、CustomersTableAdapter、BindingSource 和 BindingNavigator 則會出現在元件匣中。
建立查閱資料表
您可以在 [CustomerID] 下拉式方塊中設定屬性,以建立查閱資料表:
若要在表單上建立查閱資料表功能
從 [資料來源] 視窗,將 [Customers] 主節點直接拖曳至 [Form1] 上的 [CustomerID] 下拉式方塊。
注意事項 下表僅供參考;屬性在上述程序的拖曳動作時自動設定。設計工具會設定下列屬性,如底下的<設定說明>中所述。根據資料表結構,您可能要調整屬性,查閱資料表才能正常運作。
屬性
設定說明
DataSource
Visual Studio 會將這個屬性設定為針對拖曳至控制項上的資料表而建立的 BindingSource (而不是建立控制項時所建立的 BindingSource)。
如果您需要進行調整,請將這個屬性設定為資料表的 BindingSource 屬性,其中包含您想要顯示的資料行 (在此逐步解說中,即為 CustomersBindingSource)。
DisplayMember
Visual Studio 會將這個屬性設定為主索引鍵之後,第一個擁有拖曳至控制項之資料表字串資料型別的資料行。
如果您需要進行調整,請將這個屬性設定為您想要顯示的資料行名稱。
ValueMember
Visual Studio 會將這個屬性設定為參與主索引鍵的第一個資料行;如果未定義索引鍵,則為資料表的第一個資料行。
如果您需要進行調整,請將這個屬性設定為包含您想要顯示的資料行資料表中的主索引鍵。
SelectedValue
Visual Studio 會將這個屬性設定為從 [資料來源] 視窗拖曳而來的原始資料行。
如果您需要進行調整,請將這個屬性設定為關聯資料表中的外部索引鍵資料行 (在此逐步解說中,即為 Orders 資料表中的 CustomerID)。
執行應用程式
若要執行應用程式
按 F5。
巡覽所有訂單,並確定 [CustomerID] 下拉式方塊確實已針對每筆來自 Customers 資料表的訂單顯示 CompanyName (而不是 Orders 資料表中的 CustomerID 資料行)。
後續步驟
根據應用程式需求的不同,您在建立資料繫結的表單後,可能還會想要執行幾個步驟。您可以對這個逐步解說進行加強的部分包括:
將搜尋功能加入表單中。如需詳細資訊,請參閱HOW TO:將參數型查詢加入至 Windows Form 應用程式。
加入將更新傳回資料庫的功能。如需詳細資訊,請參閱逐步解說:儲存資料至資料庫 (單一資料表)。
從 [資料來源] 視窗中選取 [以精靈設定資料集],將 Orders 資料表加入資料集。然後,您可以將相關 Orders 節點 (在 [客戶] 資料表中的 [傳真電話] 資料行下方) 拖曳至表單上,以加入顯示相關資料的控制項。如需詳細資訊,請參閱HOW TO:在 Windows Form 應用程式中顯示相關的資料。
請參閱
概念
將 Windows Form 控制項繫結至 Visual Studio 中的資料