チュートリアル : Windows アプリケーションのデータ検索フォームの作成

更新 : 2007 年 11 月

一般的なアプリケーションのシナリオでは、選択したデータをフォーム上に表示します。たとえば、特定の顧客の注文、特定の注文の明細などを表示する場合があります。このシナリオでは、ユーザーがフォームに情報を入力した後、ユーザーの入力をパラメータとして使用してクエリが実行されます。つまり、パラメータ クエリに基づいてデータが選択されます。クエリは、ユーザーが入力した条件を満たすデータのみを返します。ここでは、特定の都市にいる顧客を返すクエリを作成する方法、およびユーザー インターフェイスを変更して、ユーザーが都市の名前を入力してクエリを実行するボタンを押すことができるようにする方法について説明します。

パラメータ クエリを使用することにより、データベースが最も得意とする作業 (レコードの迅速なフィルタ処理) をデータベースに任せることができるため、アプリケーションの効率が高まります。一方、データベース テーブル全体を要求し、それをネットワークを通じて転送し、アプリケーション ロジックを使用して必要なレコードを見つける場合は、アプリケーションが低速になり、効率が低下する可能性があります。

[検索条件ビルダ] ダイアログ ボックスを使って、TableAdapter (およびパラメータ値を受け取ってクエリを実行するコントロール) にパラメータ クエリを追加できます。このダイアログ ボックスを開くには、[データ] メニュー (または TableAdapter スマート タグ) の [クエリの追加] をクリックします。

このチュートリアルでは、以下のタスクを行います。

前提条件

このチュートリアルを実行するための要件は次のとおりです。

Windows アプリケーションの作成

最初に Windows アプリケーションを作成します。この手順ではプロジェクトへの名前の割り当てはオプションですが、後でこのプロジェクトを保存するため、プロジェクトに名前を付けます。

新しい Windows アプリケーション プロジェクトを作成するには

  1. [ファイル] メニューで新しいプロジェクトを作成します。

  2. プロジェクトに WindowsSearchForm という名前を付けます。

  3. [Windows アプリケーション] をクリックし、[OK] をクリックします。詳細については、「Windows ベースのアプリケーションの作成」を参照してください。

    WindowsSearchForm プロジェクトが作成されてソリューション エクスプローラに追加されます。

データ ソースの作成

この手順では、データ ソース構成ウィザードを使用して、データベースからデータ ソースを作成します。接続を作成するには、Northwind サンプル データベースへのアクセス権を持っている必要があります。Northwind サンプル データベースの設定方法については、「方法 : サンプル データベースをインストールする」を参照してください。

データ ソースを作成するには

  1. [データ] メニューの [データ ソースの表示] をクリックします。

  2. [データ ソース] ウィンドウで、[新しいデータ ソースの追加] をクリックしてデータ ソース構成ウィザードを起動します。

  3. [データソースの種類を選択] ページで、[データベース] をクリックし、[次へ] をクリックします。

  4. [データ接続の選択] ページで、次のいずれかの操作を行います。

  5. データベースにパスワードが必要な場合は、該当するオプションを選択して重要情報を含め、[次へ] をクリックします。

  6. [アプリケーション構成ファイルに接続文字列を保存] ページで、[次へ] をクリックします。

  7. [データベース オブジェクトの選択] ページの [テーブル] ノードを展開します。

  8. Customers テーブルを選択し、[完了] をクリックします。

    プロジェクトに NorthwindDataSet が追加され、[データ ソース] ウィンドウに Customers テーブルが表示されます。

フォームの作成

[データ ソース] ウィンドウからフォームに項目をドラッグして、データ バインド コントロールを作成します。

フォームにデータ バインド コントロールを作成するには

  1. [データ ソース] ウィンドウの [Customers] ノードを展開します。

  2. [Customers] ノードを [データ ソース] ウィンドウからフォームにドラッグします。

    DataGridView と、レコード間を移動するためのツール ストリップ (BindingNavigator) がフォーム上に表示されます。NorthwindDataSetCustomersTableAdapterBindingSource、および BindingNavigator がコンポーネント トレイに表示されます。

クエリへのパラメータ (検索機能) の追加

[検索条件ビルダ] ダイアログ ボックスを使用して元のクエリに 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

    hbsty6z7.alert_note(ja-jp,VS.90).gifメモ :

    Access データ ソースと OleDb データ ソースは疑問符 "?" を使用してパラメータを表すため、WHERE 句は WHERE City = ? のようになります。

  4. [OK] をクリックして [検索条件ビルダ] ダイアログ ボックスを閉じます。

    FillByCityToolStrip がフォームに追加されます。

アプリケーションのテスト

アプリケーションを実行すると、パラメータを入力として取得できる状態のフォームが開きます。

アプリケーションをテストするには

  1. F5 キーを押してアプリケーションを実行します。

  2. [City] ボックスに「London」と入力し、[FillByCity] をクリックします。

    データ グリッドに、パラメータの条件を満たす顧客が取得されます。この例では、[City] 列の値が London の顧客だけがデータ グリッドに表示されます。

次の手順

アプリケーションの要件に応じて、パラメータ付きのフォームを作成した後に、追加の操作を実行できます。このチュートリアルで行うことができる拡張には次のものがあります。

参照

概念

データの新機能

データの表示の概要

データ ソースの概要

TableAdapter の概要

参照

BindingSource コンポーネントの概要

BindingNavigator コントロールの概要 (Windows フォーム)

その他の技術情報

データに関するチュートリアル