SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

既存のRDBシステムに会員情報の名寄せ機能を追加する

泣き別れしたデータの統合
―ASP.NETでの実装方法

既存のRDBシステムに会員情報の名寄せ機能を追加する 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

画面遷移とイベントの発生順

 本連載では、各画面をMultiViewコントロール「mtvw」のViewにより実現し、各Viewには、前後のViewへ移動する目的のButtonコントロールを配置しています。

表2 名寄せ処理画面のMultiViewコントロールを構成する各View
画面の内容 ViewのID ViewIndex 進むボタンのID 戻るボタンのID
検索条件設定画面 vwSearch 0 btnSearch btnBackMenu(*1
対象会員選択画面 vwTarget 1 btnDirect btnBackSearch
項目選択指示画面 vwDirect 2 btnVerify btnBackTarget
選択指示確認画面 vwVerify 3 btnUnify(*2 btnBackDirect

*1)

 名寄せ処理画面を呼び出した元のメニュー画面に戻る。

*2)

 名寄せ処理を実行した上、vwTargetに戻る。

 以降、vwDirect/vwVerifyビュー内の表をそれぞれ「指示表」/「確認表」と呼ぶことにしますが、これらはPreLoadイベント内で用意しないといけません。

 用意するタイミングは、それぞれbtnDirect/btnVerifyクリック時ですが、PreLoadイベントはボタンのクリックイベントの前に発生してしまいます。

図7 画面遷移とイベントの発生順
図7 画面遷移とイベントの発生順

 PreLoadイベントでは、ActiveViewIndexにより移動前のViewは把握できますが、クリックされたButtonを特定できないため、移動後のViewが把握できません。どのViewに移動してもいいように、各Viewでのコントロールは用意しておきます。

 また、実際には不要なエラーチェックも行う必要があるため、PreLoad後に発生する「戻る」ボタンのクリックイベントでは、無条件にエラーメッセージをクリアします。

イベントに応じたSession変数の扱い

 画面切り替え時に受け渡すデータとして「名寄せ対象会員IDの配列(aryMemberID())」と「動的に生成したTableコントロール(tblUnify)」とがあります。これらは、Session変数(Session("aryMemberID()")とSession("tblUnify"))を使って引き継ぎます。

 すべてのボタンクリックに先立って発生するPreLoadイベント内では、上記のSession変数の有無に応じた処理をするため、設定/クリアするタイミングを整理しておきます。

表3 イベントとSession変数の扱い
ViewID(Index) イベント Session("aryMemberID") Session("tblUnify")
vwSearch(0) Activate クリアする クリアする
vwTarget(1) PreLoad 設定する(*3 なければ設定する(*4
vwTarget(1) Activate クリアする クリアする
vwDirect(2) PreLoad なければ設定する(*4
vwDirect(2) btnVerify.Click 読み込んで処理する
vwVerify(3) PreLoad なければ設定する(*4
vwVerify(3) btnBackDirect.Click 読み込んで処理する
vwVerify(3) btnUnify.Click 読み込んで処理する

*3)

 GridViewを走査し、チェックされた会員IDを配列として設定。

*4)

 選択された会員IDを基に、会員テーブルから作成して設定。

次のページ
VB.NET+SQL Serverでの実装例

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
既存のRDBシステムに会員情報の名寄せ機能を追加する連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 遠藤 存(エンドウ アリ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6804 2012/11/02 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング