チュートリアル : Web ページでの基本的なデータ アクセス
更新 : 2007 年 11 月
このチュートリアルでは、データ アクセス専用にデザインされたコントロールを使用して、単純なデータ バインド ページを作成する方法について説明します。
このチュートリアルでは、次の作業を行う方法について説明します。
Microsoft Visual Web Developer Web 開発ツールで Microsoft SQL Server データベースに接続します。
ドラッグ アンド ドロップ編集を使用して、コードのないページで使用できるデータ アクセス要素を作成します。
SqlDataSource コントロールを使用して、データ アクセスおよびバインディングを管理します。
データと GridView コントロールを表示します。
GridView コントロールを設定して、並べ替えおよびページングを実行できるようにします。
選択したレコードだけを表示する、フィルタ処理されたクエリを作成します。
前提条件
このチュートリアルを完了させるための要件を次に示します。
SQL Server Northwind データベースへのアクセス。SQL Server の Northwind サンプル データベースをダウンロードし、インストールする方法については、Microsoft SQL Server の Web サイトの「サンプル データベースのインストール」を参照してください。
メモ : SQL Server が実行されているコンピュータにログオンする方法については、サーバー管理者にお問い合わせください。
MDAC (Microsoft Data Access Components ) Version 2.7 以降。
Microsoft Windows XP または Windows Server 2003 を使用している場合、MDAC 2.7 は既に存在します。ただし、Microsoft Windows 2000 を使用している場合は、コンピュータに既にインストールされている MDAC バージョンのアップグレードが必要になる場合があります。現在の MDAC バージョンをダウンロードするには、Microsoft Universal Data Access にアクセスしてください。
Web サイトの作成
「チュートリアル : Visual Web Developer での基本的な Web ページの作成」を完了して、Visual Web Developer で Web サイトを既に作成している場合は、その Web サイトを使用して、次のセクションに移動できます。それ以外の場合は、次の手順に従って、新しい Web サイトおよびページを作成します。
ファイル システム Web サイトを作成するには
Visual Web Developer を開きます。
[ファイル] メニューの [新しい Web サイト] をクリックします。
[新しい Web サイト] ダイアログ ボックスが表示されます。
[Visual Studio にインストールされたテンプレート] の [ASP.NET Web サイト] をクリックします。
右端の [場所] ボックスに、Web サイトのページを格納するフォルダの名前を入力します。
たとえば、フォルダ名として「C:\WebSites」と入力します。
[言語] ボックスで、作業に使用するプログラミング言語をクリックします。
[OK] をクリックします。
Visual Web Developer によりフォルダが作成され、Default.aspx という名前の新しいページが作成されます。
データを表示する GridView コントロールの追加
ASP.NET Web ページにデータを表示するための要件を、次に示します。
データ ソース (データベースなど) に対する接続。
次の手順では、SQL Server Northwind データベースへの接続を作成します。
ページのデータ ソース コントロール。クエリを実行し、クエリの結果を管理します。
データを実際に表示するページのコントロール。
次の手順では、GridView コントロールにデータを表示します。GridView コントロールは、SqlDataSource コントロールからデータを取得します。
これらの要素を Web サイトに個別に追加できます。ただし、最も簡単な開始方法は、GridView コントロールを使用してデータ表示を視覚化し、ウィザードを使用して接続およびデータ ソース コントロールを作成することです。次の手順では、ページにデータを表示するために必要な 3 つの要素をすべて作成する方法について説明します。
データを表示するために GridView コントロールを追加および設定するには
Visual Web Developer でデザイン ビューに切り替えます。
ツールボックスの [データ] フォルダから、GridView コントロールをページにドラッグします。
[GridView タスク] ショートカット メニューが表示されない場合、GridView コントロールを右クリックし、[スマート タグの表示] をクリックします。
[GridView タスク] メニューの [データ ソースの選択] ボックスで、[<新しいデータ ソース>] をクリックします。
[データ ソース構成] ダイアログ ボックスが表示されます。
[データベース] をクリックします。
これにより、SQL ステートメントをサポートするデータベースからデータを取得することが指定されます。これには、SQL Server データベースおよびその他の OLE-DB 互換のデータベースが含まれます。
[データ ソースに ID を指定します] ボックスに、既定のデータ ソース コントロール名 (SqlDataSource1) が表示されます。この名前はそのままにしておいてかまいません。
[OK] をクリックします。
データ ソースの構成ウィザードが表示され、接続を選択できるページが表示されます。
[新しい接続] をクリックします。
[データ ソースの選択] ダイアログ ボックスの [データ ソース] で、[Microsoft SQL Server] をクリックし、[続行] をクリックします。
[接続の追加] ダイアログ ボックスが表示されます。
[サーバー名] ボックスに使用する SQL Server の名前を入力します。
ログオン資格情報については、SQL Server データベースにアクセスするのに適したオプション (統合セキュリティまたは特定の ID とパスワード) を選択します。必要に応じて、ユーザー名とパスワードを入力します。
[データベースの選択または入力] をクリックし、「Northwind」と入力します。
[接続の確認] をクリックし、接続を確認できたら [OK] をクリックします。
データ ソースの構成 - <DataSourceName> ウィザードが表示され、接続情報が読み込まれます。
[次へ] をクリックします。
ウィザードが表示され、接続文字列を構成ファイルに保存するためのページが表示されます。接続文字列を構成ファイルに格納すると、次の 2 つの利点があります。
この方が接続文字列をページ内に格納するよりも安全です。
複数のページで同じ接続文字列を再利用できます。
[はい、この接続を次の名前で保存します] チェック ボックスがオンになっていることを確認して、[次へ] をクリックします (既定の接続文字列名 NorthwindConnectionString のままにしておくこともできます)。
ウィザードが表示され、データベースから取得するデータを指定するためのページが表示されます。
[テーブルまたは表示から列を指定します] の [コンピュータ] ボックスで、[Customers] をクリックします。
[列] で、[CustomerID]、[CompanyName]、および [City] の各チェック ボックスをオンにします。
ウィザードが表示され、ページの下部のボックスに作成中の SQL ステートメントが表示されます。
メモ : ウィザードを使用すると、選択基準 (WHERE 句) およびその他の SQL クエリ オプションを指定できます。チュートリアルのこの部分では、選択または並べ替えオプションのない単純なステートメントを作成します。
[次へ] をクリックします。
[クエリのテスト] をクリックして、必要なデータを取得していることを確認します。
[完了] をクリックします。
ウィザードが閉じ、ページに戻ります。ウィザードの実行により、次の 2 つのタスクが完了しました。
SqlDataSource1 という名前の SqlDataSource コントロールが作成および設定されました。このコントロールにより、指定した接続およびクエリ情報が取り込まれます。
GridView コントロールが SqlDataSource にバインドされました。したがって、GridView コントロールには、SqlDataSource コントロールによって返されたデータが表示されます。
SqlDataSource コントロールのプロパティを表示すると、ウィザードにより ConnectionString プロパティおよび SelectQuery プロパティの値が作成されたことがわかります。
メモ : GridView コントロールの外観は、簡単に変更できます。デザイン ビューで、GridView コントロールを右クリックし、[スマート タグの表示] をクリックします。[GridView タスク] メニューの [オートフォーマット] をクリックして、スキームを適用します。
ページのテスト
ここでページを実行できます。
ページをテストするには
Ctrl キーを押しながら F5 キーを押してページを実行します。
ブラウザにページが表示されます。GridView コントロールに、Customers テーブルからすべてのデータ行が表示されます。
ブラウザを閉じます。
並べ替えとページングの追加
コードを記述することなく、GridView コントロールに並べ替えとページングを追加できます。
並べ替えとページングを追加するには
デザイン ビューで、GridView コントロールを右クリックし、[スマート タグの表示] をクリックします。
[GridView タスク] ショートカット メニューの [並べ替えを有効にする] チェック ボックスをオンにします。
GridView コントロールの列見出しがリンクに変わります。
[GridView タスク] メニューの [ページングを有効にする] チェック ボックスをオンにします。
ページ番号のリンクを持つ GridView コントロールにフッターが追加されます。
オプションで、[プロパティ] を使用して、PageSize プロパティの値を 10 からより小さいページ サイズに変更することもできます。
Ctrl キーを押しながら F5 キーを押してページを実行します。
列見出しをクリックすると、その列の内容で並べ替えを実行できるようになります。GridView コントロールのページ サイズよりも多くのレコードがデータ ソース内にある場合は、GridView コントロールの下部にあるページ移動リンクを使用すると、ページ間を移動できます。
ブラウザを閉じます。
フィルタ処理の追加
選択したデータだけをページに表示する場合も多くあります。このチュートリアルでは、SqlDataSource コントロールのクエリを変更して、ユーザーが特定の都市の顧客レコードを選択できるようにします。
まず、TextBox コントロールを使用して、ユーザーが都市の名前を入力できるテキスト ボックスを作成します。次に、パラメータ付きのフィルタ (WHERE 句) を含めるようにクエリを変更します。このプロセスの一部として、SqlDataSource コントロールのパラメータ要素を作成します。パラメータ要素により、SqlDataSource コントロールがパラメータ付きのクエリ、つまりテキスト ボックスから値を取得する方法が設定されます。
チュートリアルのこの部分を完了すると、ページがデザイン ビューで次のように表示されます。
都市を指定するためのテキスト ボックスを追加するには
ツールボックスの [標準] グループから、TextBox コントロールおよび Button コントロールをページにドラッグします。
Button コントロールは、ページをサーバーにポストするためだけに使用されます。このコントロールのコードを記述する必要はありません。
TextBox コントロールの [プロパティ] で、[ID] を「textCity」に設定します。
必要に応じて、キャプションとして機能するテキスト ボックスの前に「City」のようなテキストを入力します。
Button コントロールの [プロパティ] で、[テキスト] を「Submit」に設定します。
これで、フィルタを含めるようにクエリを変更できます。
パラメータ付きフィルタを使用してクエリを変更するには
SqlDataSource コントロールを右クリックし、[スマート タグの表示] をクリックします。
[SqlDataSource タスク] メニューの [データ ソースの構成] をクリックします。
データ ソースの構成 - <Datasourcename> ウィザードが表示されます。
[次へ] をクリックします。
ウィザードには、SqlDataSource コントロールに現在設定されている SQL コマンドが表示されます。
[Where] をクリックします。
[WHERE 句の追加] ページが表示されます。
[列] ボックスの [City] をクリックします。
[演算子] ボックスの [=] をクリックします。
[ソース] ボックスの [コントロール] をクリックします。
[パラメータのプロパティ] の [コントロール ID] ボックスで、[textCity] をクリックします。
前の 5 つの手順では、クエリが、前の手順で追加した TextBox コントロールから [City] の検索値を取得することを指定します。
[追加] をクリックします。
作成した WHERE 句がページの下部のボックスに表示されます。
[OK] をクリックして、[WHERE 句の追加] ページを閉じます。
データ ソースの構成 - <DataSourceName> ウィザードの [次へ] をクリックします。
[クエリのテスト] ページの [クエリのテスト] をクリックします。
ウィザードが表示され、[パラメータ値のエディタ] ページが表示されます。このページは、WHERE 句で使用する値の入力を要求します。
[値] ボックスに「London」と入力し、[OK] をクリックします。
London の顧客レコードが表示されます。
[完了] をクリックして、ウィザードを閉じます。
これで、フィルタ処理をテストできます。
フィルタ処理をテストするには
Ctrl キーを押しながら F5 キーを押してページを実行します。
テキスト ボックスに「London」と入力し、[送信] をクリックします。
London からの顧客の一覧が GridView コントロールに表示されます。
「Buenos Aires」、「Berlin」など、その他の都市も試してみます。
次の手順
データ アクセスは、多くの Web アプリケーションにとって重要です。このチュートリアルでは、Web ページのデータを処理する方法の概要のみを説明しました。データ アクセスの追加機能を試すこともできます。たとえば、次の操作を実行できます。
SQL Server ではなく Microsoft Access を使用します (Access で SQL キャッシュ依存を使用することはできません)。
詳細については、「チュートリアル : Access データベースのデータを表示する Web ページの作成」を参照してください。
レコードを編集して挿入します。
詳細については、「チュートリアル : DetailsView Web サーバー コントロールによる Web ページのデータの編集と挿入」を参照してください。
マスター/詳細リレーションシップがあるレコードを操作します。
詳細については、「チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成」を参照してください。
データ アクセスを実行する中間層 (ビジネス) コンポーネントを作成し、それをページのデータ ソースとして使用します。
詳細については、「チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング 」を参照してください。