解説

実例で学ぶASP.NETプログラミング

第5回 DB連携ページをASP.NETで構築する(後編)

小田原 貴樹(うりゅう)
2003/04/22
Page1 Page2 Page3 Page4 Page5 Page6

■DataSetオブジェクトの主キー作成

 さて、ここまで本連載の内容通りに作成してきた読者であれば、6行目の「〜FindByID(PID)」の部分がエラーとして表示されているはずだ。これはコーディングのミスではなくVS.NET上のGUIでデータセット開発を行う際の仕様によるものだ。

 連載第3回のOleDbDataAdapterオブジェクトの作成(その3)項で、DataAdapterオブジェクトからDataSetオブジェクトを作成していった流れの中で、[PVADP]から[PVSET]を作成するときにのみほかの場合と違ったのを覚えているだろうか? 実は、ビュー(クエリ)から作成されたDataAdapterオブジェクトからDataSetオブジェクトを作成する場合、「一意な主キーが存在しても、自動ではそれが主キーとして認識されない」という問題がある。これを回避するためにはDataSetオブジェクトそのものを編集するしかない。と、いっても簡単な作業なので以下を参考にしてほしい。

DataSetオブジェクトを編集して主キーを設定する:手順1
ソリューション・エクスプローラで「PVSET.XSD」をダブルクリックする。

DataSetオブジェクトを編集して主キーを設定する:手順2
開かれたPVSETのスキーマ表の1番上にある「ID」の左端をクリックし選択状態にする。

DataSetオブジェクトを編集して主キーを設定する:手順3
「ID」を選択状態にしたまま、[スキーマ]メニューから、[追加]−[新しいkey]を選択する。

DataSetオブジェクトを編集して主キーを設定する:手順4
[キーの編集]画面が開くので、[データセット主キー]チェック・ボックスをチェックして[OK]ボタンを押し、変更を保存する。

 これでPVSETにも一意な主キーが指定され、先ほどのエラー表示も消えるはずだ。

 次の7行目も同じ構文を利用して、「酒カテゴリ」から対象となるカテゴリ情報を取得している。先ほど作成したPRオブジェクトを主キーに指定している点に注意してほしい。

 ここまでのコーディングで表示に必要な情報は全部取得できた。取得した情報を実際に表示するためのコードを記述しよう。メイン・フレーム・ページのコード・ビハインド・ファイル「MAIN.ASPX.VB」を開いて、Page_Loadメソッド内に以下のコードを足してほしい。

Dim PID As Integer = INFO.KPRODID
INFO.KPRODIN(kptl, kpnl, kpcl, kpi, PID)
データベースから取得したデータを表示するコード
MAIN.ASPX.VBのPage_Loadメソッド内に追加する。

 メソッドの作成の説明で引数なども紹介しているので、繰り返すことはしない。2つのメソッドを順に実行しているだけだが、これで季節限定酒商品表示機能は実装できる。コンポーネント・クラスの中にクラス化してメソッドをまとめていくメリットを多少は感じてもらえるだろうか?


 INDEX
  実例で学ぶASP.NETプログラミング
  第5回 DB連携ページをASP.NETで構築する(後編)
    1.季節限定酒表示機能のデザインを作成する
    2.季節限定酒表示機能の実装
  3.DataSetオブジェクトの主キー作成
    4.今月のお買い得酒表示機能のデザインを作成する
    5.今月のお買い得酒表示機能の実装
    6.全体デザイン修正とデバッグ
 
インデックス・ページヘ  「解説 :実例で学ぶASP.NETプログラミング」


Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間