共用方式為


逐步解說:建立表單以便在 Windows 應用程式中搜尋資料

更新:2007 年 11 月

應用程式的常見案例是在表單上顯示選取的資料,例如,您可能會想要顯示特定客戶的訂單或特定訂單的細節。在這個案例中,使用者在表單中輸入資訊,而接下來查詢的執行,是以使用者輸入的條件做為參數;也就是說,資料的選取是根據參數型查詢進行的。查詢只傳回符合使用者所輸入準則的資料。此逐步解說將示範如何建立一個可傳回特定城市之客戶的查詢,以及修改使用者介面,讓使用者可以輸入城市的名稱,並按下按鈕來執行查詢。

使用參數型查詢可幫助應用程式更有效率,因為這樣一來可讓資料庫執行它最擅長的工作,也就是快速篩選資料錄。相反地,如果您要求整個資料庫資料表,並透過網路來傳輸它,再使用應用程式邏輯找尋所要的資料錄,則應用程式將會變慢且沒有效率。

您可以將參數型查詢加入到任何 TableAdapter (以及接受參數值及執行查詢的控制項),透過的方式是使用搜尋準則產生器對話方塊。在 [資料] 功能表上 (或是任一 TableAdapter 智慧標籤上) 選取 [加入查詢] 命令,即可開啟此對話方塊。

逐步解說將說明的工作包括:

必要條件

若要完成這個逐步解說,您必須要有:

建立 Windows 應用程式

第一個步驟是建立 [Windows 應用程式]。在這個步驟,指定專案名稱是選擇性的動作,但因為我們稍後要儲存它,所以會為它命名。

若要建立新的 Windows 應用程式專案

  1. 從 [檔案] 功能表中,建立新專案。

  2. 將專案命名為 WindowsSearchForm。

  3. 請選取 [Windows 應用程式],並按 [確定]。如需詳細資訊,請參閱建立 Windows 架構的應用程式

    隨即建立 WindowsSearchForm 專案,並將其加入至 [方案總管]。

建立資料來源

這個步驟會使用 [資料來源組態精靈],從資料庫建立資料來源,所以,您必須可以存取 Northwind 範例資料庫,才能建立連接。如需設定 Northwind 範例資料庫的詳細資訊,請參閱 HOW TO:安裝範例資料庫

若要建立資料來源

  1. 在 [資料] 功能表上,按一下 [顯示資料來源]。

  2. 在 [資料來源] 視窗中,選取 [加入新資料來源],啟動 [資料來源組態精靈]。

  3. 請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。

  4. 在 [選擇資料連接] 頁上,執行下列其中一項:

    • 如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。

      -或-

    • 選取 [新增連接],啟動 [新增/修改連接] 對話方塊。如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)

  5. 如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。

  6. 按一下 [將連接字串儲存到應用程式組態檔] 頁面上的 [下一步]。

  7. 在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。

  8. 選取 [Customers] 資料表,再按 [完成]。

    [NorthwindDataSet] 會加入至專案,而且 [Customers] 資料表會出現在 [資料來源] 視窗中。

建立表單

從 [資料來源] 視窗將項目拖曳至表單上,即可建立資料繫結控制項。

若要在表單上建立資料繫結控制項

  1. 在 [資料來源] 視窗中,展開 [Customers] 節點。

  2. 將 [Customers] 節點從 [資料來源] 視窗拖曳至表單。

    DataGridView 以及用於巡覽資料錄的工具區域 (BindingNavigator) 會出現在表單上。NorthwindDataSetCustomersTableAdapterBindingSourceBindingNavigator 則會出現在元件匣中。

將參數化 (搜尋功能) 加入到查詢

您可以使用搜尋準則產生器對話方塊,將 WHERE 子句加入至原始查詢中。

建立參數型查詢和控制項,以輸入參數

  1. 選取 DataGridView 控制項,再選擇 [資料] 功能表上的 [加入查詢]。

  2. 搜尋準則產生器對話方塊的 [新的查詢名稱] 區域中,輸入 FillByCity。

  3. 在 [查詢文字] 區域中,將 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 = ?。

  4. 按一下 [確定],關閉 [搜尋準則產生器] 對話方塊。

    FillByCityToolStrip 隨即加入至表單。

測試應用程式

執行應用程式便會開啟表單,並準備好使用做為輸入的參數。

若要測試應用程式

  1. 按下 F5,執行應用程式。

  2. 在 [City] 文字方塊中輸入 London,再按一下 [FillByCity]。

    隨即以符合參數型準則的客戶填入資料格。在這個範例中,資料格只顯示其 [City] 資料行具有 London 值的客戶。

後續步驟

根據應用程式的需求而定,您在建立參數型表單後可能還會想執行幾個步驟。您可以利用下列幾點加強這個逐步解說:

請參閱

概念

資料的新功能

顯示資料概觀

資料來源概觀

TableAdapter 概觀

參考

BindingSource 元件概觀

BindingNavigator 控制項概觀 (Windows Form)

其他資源

資料逐步解說