![]() |
VB6開発者のためのASP.NET開発入門第7回 ASP.NETにおけるデータ更新処理日立ソフトウェアエンジニアリング 宮崎 昭世(Microsoft MVP for ASP/ASP.NET) 2008/03/28 |
|
|
Visual Studio 2008が発売となり、すでに1カ月が過ぎた。筆者はすでにメインの開発環境をVisual Studio 2008に移行している。使っていると気付くのだが、この新しい環境は、パフォーマンスや細かい使い勝手など、目に見えず地味だがさまざまな点で強化されているので、ぜひ皆さんも一度試しに使ってみてほしい。
さて、前回はデータベース・アクセス(以下、DBアクセス)の前半としてデータの取得と表示について解説した。DBアクセスについてもASP.NETで提供されるDataSourceコントロールやGridViewコントロールによって簡単に実装できることが理解いただけたのではないだろうか。
今回は、DBアクセスの後半としてデータの更新処理について見ていくことにしよう。
詳細ページの作成
更新処理について見ていく前に、詳細ページを作成してみよう。まずは、一覧ページで[選択]リンク・ボタンをクリックしたときに、選択行のデータ1件分を1ページに表示する方法を見ていこう。
今回は、前回作成したWebサイトを拡張する形でサンプルを作成する。前回作成していない場合には3ページ目までの手順をあらかじめ行っておいてほしい。前回のサンプルが手元に残っている場合には、そのまま使っていただければよい。どちらでも、ほぼ同様の手順で今回のサンプルを試すことが可能だ。本稿では、実行時の手順を減らすため、3ページまで作成した状態から開始している。
まずは、GridViewコントロールの各行で[選択]リンク・ボタンをクリックしたときに、別のページを表示する処理を追加する。GridViewコントロールをダブル・クリックし、イベント・ハンドラを追加してほしい。
![]() |
| GridViewコントロールの[選択]リンク・ボタン・クリック時のイベント・ハンドラの追加 |
| Webフォーム・デザイナでGridViewコントロールの任意の場所をダブル・クリックすると、[選択]リンク・ボタン・クリック時のイベント・ハンドラが追加される。 |
次に、追加されたイベント・ハンドラに次のコードを記述してほしい。
|
|
| [選択]リンク・ボタンをクリックしたときに詳細ページを表示するコード | |
| 追加したイベント・ハンドラにこのコードを記述する。1行目ではクリックされた行のキー情報をセッションに格納し、2行目で詳細ページを呼び出している。詳細については第4回も参考にしてほしい。 |
GridViewコントロールの[選択]リンク・ボタンの実装ができたので、詳細ページを追加していこう。具体的な手順は以下の画面のとおり。
詳細ページが追加されたので、次は詳細ページの内容を実装していく。まずは次の画面のようにしてSqlDataSourceコントロールを貼り付ける。
![]() |
||||||
| SqlDataSourceコントロールの貼り付け | ||||||
| 詳細ページの内容を実装していく。まずはSqlDataSourceコントロールを貼り付ける。 | ||||||
|
上の画面の手順により、[データ ソースの構成]ダイアログが表示される。ここでは、接続するDBは一覧ページと同じであるため、一覧ページで設定した内容をそのまま利用することにする。以下の画面の手順を実行してほしい。
![]() |
||||||
| [データ ソースの構成]ダイアログの[データ接続の選択]ページ | ||||||
| [データ ソースの構成]が表示されたら、最初に[データ接続の選択]を行う。 | ||||||
|
![]() |
|||||||||
| [データ ソースの構成]ダイアログの[Selectステートメントの構成]ページ | |||||||||
| [Selectステートメントの構成]ページでは、(SQLの)Select文を作成する。ここでは「authors」テーブルの全列を取得するように設定する。さらに、[WHERE]句を設定する。 | |||||||||
|
![]() |
||||||||||||
| [WHERE句の追加]ダイアログ(1) | ||||||||||||
| [WHERE]ボタンをクリックすると、このダイアログが表示される。ここでは「au_id」列がSession変数の「Key」フィールドと等しい値のとき、という(WHERE句)条件を指定する。 | ||||||||||||
|
![]() |
||||||
| [WHERE句の追加]ダイアログ(2) | ||||||
| [WHERE句の追加]ダイアログ(1)の[追加]ボタンをクリックしたところ。 | ||||||
|
![]() |
| [データ ソースの構成]ダイアログの[クエリのテスト]ページ |
| 最後に[完了]ボタンをクリックする。 このウィンドウでは、SQLの確認もできる。今回WHERE句を指定しているため[クエリのテスト]ボタンをクリックするとWHERE句に指定した[au_id]の入力を促すウィンドウが表示される。 |
詳細ページでは、一覧ページで選択されたデータを表示するために、データ取得の際にWHERE句を利用して絞り込みを行ってはいるが、一覧ページで行った手順と同様にDBアクセスを行うことが確認できたであろう。
次は、取得したデータを表示する部分について見ていこう。
| INDEX | ||
| VB 6開発者のためのASP.NET開発入門 | ||
| 第7回 ASP.NETにおけるデータ更新処理 | ||
| 1.詳細ページの作成 | ||
| 2.ASP.NETにおけるデータ更新 | ||
| 3.複数端末からの更新時の動作 | ||
| 4.複数端末からの更新時の排他制御 | ||
| 5.DetailsViewコントロールにおける入力チェック | ||
| 「VB6開発者のためのASP.NET開発入門」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
は.NET開発者中心に生まれ変わりました
スポンサーからのお知らせ
.NET開発者中心コーナー
- - PR -
イベントカレンダー
- - PR -











