連載:VS 2005でいってみようDBプログラミング第8回 Let's Master ストアド・プロシージャ!(前編)山田 祥寛(http://www.wings.msn.to/)2006/09/30 |
|
|
[2]サーバ・コントロールを配置する
ストアド・プロシージャ単体の動作が確認できたところで、次にASP.NETからストアド・プロシージャを呼び出す方法について見ていくことにしましょう。
まずは、新規に作成したWebフォーム「sp.aspx」に図6の要領で、DropDownList、GridView、Literalの3つのサーバ・コントロールを配置します。
図6 sp.aspxのフォーム・レイアウト |
DropDownList、GridView、Literalの3つのサーバ・コントロールを配置する。 |
そしてそれぞれのプロパティを表3のように設定します。
|
||||||||||||||||||||||||
表3 配置したサーバ・コントロールのプロパティ一覧 | ||||||||||||||||||||||||
DropDownListコントロールのAppendDataBoundItemsプロパティは、既存のItemsプロパティに追加する形でリストにデータをバインドするかどうかを表します。本プロパティがFalseである場合、Itemsプロパティであらかじめ設定された内容はデータバインドのタイミングでクリアされてしまいますので注意してください。
Literalコントロールは、後からレコードの取得件数を表示するために使用します。この項ではまだ使用しませんので、いまは無視してください。
[3]DropDownListコントロールにデータをバインドする
次に、DropDownListコントロールに対してデータをバインドします。DropDownListコントロールにデータをバインドする方法については、すでに第3回でも紹介していますので、ここではデータソース構成ウィザードの設定項目についてのみまとめておくことにします。詳細は該当の回を参照してください。
|
||||||||||||||||
表4 データソース構成ウィザードの設定項目(DropDownListコントロール) | ||||||||||||||||
データ接続先である「MyDB」は、第2回で設定した接続文字列の名前です。接続文字列に関する詳細、設定方法については、第2回の説明を参照してください。 |
[Selectステートメントの構成]ダイアログでは、最終的に、
SELECT [publish_id], [name] FROM [publish]
のSQL命令が生成されていればOKです。
[4]GridViewコントロールにデータをバインドする
最後に、GridViewコントロールに対してデータをバインドします。
データ構成ウィザードの前半の設定については、特にこれまでと変わるところはありません。表5の要領で必要な情報を入力していきましょう。
|
||||||||
表5 データソース構成ウィザードの設定項目(GridViewコントロール) | ||||||||
ストアド・プロシージャを利用する場合に注目すべき点は、以降、[Selectステートメントの構成]ダイアログからです。ここからはやや詳しく手順を眺めていきます。
「カスタムSQLステートメントまたはストアドプロシージャを指定する」を選択 [SELECT]タブで「ストアドプロシージャ」を選択し「SelectProc」を指定 |
|||||||||
図7 ストアド・プロシージャを利用する場合の設定 | |||||||||
|
これまでのサンプルでは[Selectステートメントの構成]ダイアログ で「テーブルまたはビューから列を指定します」を選択していたわけですが、ストアド・プロシージャを使用する場合には、「カスタムSQLステートメントまたはストアドプロシージャを指定する」を選択し、[次へ]ボタンをクリックします。
[カスタムステートメントまたはストアドプロシージャを定義します]ダイアログ が表示されますので、[SELECT]タブから「ストアドプロシージャ」を選択し、使用するプロシージャ名として[1]で作成した「SelectProc」を指定します。もちろん、挿入/更新/削除処理が必要である場合には、[UPDATE][INSERT][DELETE]タブも指定できますが、ここではこれらのタブはブランクにしておきます。
[次へ]ボタンをクリックすると、[パラメータの定義]ダイアログが開きますので、図7の要領で絞り込み条件を指定してください。これでpublish_id列がDropDownListコントロール(list)の選択値(SelectedValueプロパティ)と等しいデータだけが抽出されることになります。
一連の作業の後、[完了]ボタンをクリックすると、GridViewコントロールの下にSqlDataSourceコントロールが配置され、GridViewコントロールにもデータソースの内容がバインドされていることが確認できるはずです。
以上で、ストアド・プロシージャによる実行結果をGridViewコントロールに関連付ける作業は完了です。ツール・バーから[デバッグ開始]ボタンをクリックし、Bookテーブルから取得した内容がGridViewコントロール上に表示されれば成功です。プルダウン・メニューを変更し、グリッド内の情報が絞り込みされることを確認してください*2。
*2 グリッド上のレイアウト設定については、第3回でも紹介したとおりですので、本稿では割愛します。なお、現時点ではデータアクセス・コンポーネントに更新/削除メソッドを定義していませんので、グリッド上からも更新/削除機能を利用することはできません。 |
INDEX | ||
Visual Studio 2005でいってみようDBプログラミング | ||
第8回 Let's Master ストアド・プロシージャ!(前編) | ||
1.ストアド・プロシージャ基本のキ(1) | ||
2.ストアド・プロシージャ基本のキ(2) | ||
3.ストアドに条件分岐を追加する/ストアドから出力パラメータを取得する | ||
4.ストアド・プロシージャから戻り値を取得する | ||
「Visual Studio 2005でいってみようDBプログラミング」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|