逐步解說:建立 Windows Form 以搜尋資料
應用程式的常見案例是在表單上顯示選取的資料, 例如,您可能會想要顯示特定客戶的訂單或特定訂單的細節。 在這個案例中,使用者在表單中輸入資訊,而接下來查詢的執行,是以使用者輸入的條件做為參數;也就是說,資料的選取是根據參數型查詢進行的。 查詢只傳回符合使用者所輸入準則的資料。 此逐步解說將示範如何建立一個可傳回特定城市之客戶的查詢,以及修改使用者介面,讓使用者可以輸入城市的名稱,並按下按鈕來執行查詢。
使用參數型查詢可幫助應用程式更有效率,因為這樣一來可讓資料庫執行它最擅長的工作,也就是快速篩選資料錄。 相反地,如果您要求整個資料庫資料表,並透過網路來傳輸它,再使用應用程式邏輯找尋所要的資料錄,則應用程式將會變慢且沒有效率。
您可以將參數型查詢加入到任何 TableAdapter (以及接受參數值及執行查詢的控制項),透過的方式是使用搜尋準則產生器對話方塊。 在 [資料] 功能表上 (或是任一 TableAdapter 智慧標籤上) 選取 [加入查詢] 命令,即可開啟此對話方塊。
逐步解說將說明的工作包括:
建立新的 [Windows 應用程式] 專案。
使用資料來源組態精靈建立和設定應用程式中的資料來源。
在資料來源視窗中設定項目的置放型別。 如需詳細資訊,請參閱 HOW TO:設定從資料來源視窗拖曳時要建立的控制項。
從 [資料來源] 視窗將項目拖曳至表單上,建立可顯示資料的控制項。
加入控制項,在表單上顯示資料。
完成搜尋準則產生器對話方塊。
將參數輸入表單中,並執行參數型查詢。
必要條件
若要完成這個逐步解說,您需要:
- Northwind 範例資料庫的存取權。 如需詳細資訊,請參閱 HOW TO:安裝範例資料庫。
建立 Windows 應用程式
第一個步驟是建立 [Windows 應用程式]。 在這個步驟,指定專案名稱是選擇性的動作,但因為我們稍後要儲存它,所以會為它命名。
若要建立新的 Windows 應用程式專案
從 [檔案] 功能表中,建立新專案。
將專案命名為 WindowsSearchForm。
選取 [Windows 應用程式],並按一下 [確定]。 如需詳細資訊,請參閱開發用戶端應用程式。
隨即建立 WindowsSearchForm 專案,並將其加入至 [方案總管]。
建立資料來源
這個步驟會使用 [資料來源組態精靈],從資料庫建立資料來源, 您必須可以存取 Northwind 範例資料庫,才能建立連接。 如需設定 Northwind 範例資料庫的詳細資訊,請參閱 HOW TO:安裝範例資料庫。
若要建立資料來源
按一下 [資料] 功能表上的 [顯示資料來源]。
在 [資料來源] 視窗中,選取 [加入新資料來源],以啟動 [資料來源組態精靈]。
請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。
在 [選擇資料連接] 頁面上,執行下列其中一項動作:
如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。
-或-
選取 [新增連接],啟動 [新增/修改連接] 對話方塊。 如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)。
如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。
按一下 [將連接字串儲存到應用程式組態檔] 頁面上的 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取 [Customers] 資料表,再按 [完成]。
[NorthwindDataSet] 會加入至專案,而且 [Customers] 資料表會出現在 [資料來源] 視窗中。
建立表單
您可以從 [資料來源] 視窗將項目拖曳至表單上,藉以建立資料繫結控制項。
若要在表單上建立資料繫結控制項
在 [資料來源] 視窗中,展開 [Customers] 節點。
將 [Customers] 節點從 [資料來源] 視窗拖曳至表單。
DataGridView 以及用於巡覽資料錄的工具區域 (BindingNavigator) 會出現在表單上。 NorthwindDataSet、CustomersTableAdapter、BindingSource 和 BindingNavigator 則會出現在元件匣中。
將參數化 (搜尋功能) 加入到查詢
您可以使用搜尋準則產生器對話方塊,將 WHERE 子句加入至原始查詢中。
建立參數型查詢和控制項,以輸入參數
選取 DataGridView 控制項,再選擇 [資料] 功能表上的 [加入查詢]。
在搜尋準則產生器對話方塊的 [新的查詢名稱] 區域中,輸入 FillByCity。
在 [查詢文字] 區域中,將 WHERE City = @City 加入至查詢。
查詢應該如下所示:
SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax
FROM Customers
WHERE City = @City
注意事項 Access 和 OleDb 資料來源使用問號 '?' 代表參數,所以 WHERE 子句應該如下:WHERE City = ?。
按一下 [確定],關閉 [搜尋準則產生器] 對話方塊。
FillByCityToolStrip 隨即加入至表單。
測試應用程式
執行應用程式便會開啟表單,並準備好使用做為輸入的參數。
若要測試應用程式
按下 F5 執行應用程式。
在 [城市] 文字方塊中輸入 London,再按一下 [FillByCity]。
隨即以符合參數型準則的客戶填入資料格。 在這個範例中,資料格只顯示其 [City] 資料行具有 London 值的客戶。
後續步驟
根據應用程式的需求而定,您在建立參數型表單後可能還會想執行幾個步驟。 您可以對這個逐步解說進行加強的部分包括:
加入可顯示相關資料的控制項。 如需詳細資訊,請參閱 HOW TO:在 Windows Form 應用程式中顯示相關的資料。
編輯資料集,以加入或移除資料庫物件。 如需詳細資訊,請參閱 HOW TO:編輯資料集。
請參閱
參考
BindingNavigator 控制項概觀 (Windows Form)
概念
Visual Studio 2012 中資料應用程式開發的新功能
將 Windows Form 控制項繫結至 Visual Studio 中的資料