連載:実践で役立つ業務アプリ開発のヒント

第1回 データベースとADO.NETの機能を適切に活用する

えムナウ(児玉宏之)
Microsoft MVP Visual Developer - Visual C# JAN 2005 - DEC 2007)
2007/06/08
Page1 Page2 Page3

 「特集:Visual Basic 2005へ移行する理由」を読めば分かるように、統合開発環境Visual Studio 2005(以下VS 2005)の登場によってVisual Basic 6.0(以下、VB 6)開発者のVisual Basic 2005(以下VB 2005)への移行がスムーズに進められる環境が整ってきた。

 しかしだからといって、オブジェクト指向を正しく理解して、効果的なオブジェクト分割を行って再利用を進めないと、結局、開発効率は低いままになってしまう。フォームにイベントやサブルーチンを埋め込み、共通処理をモジュールにまとめるといった構造に慣れたVB 6開発者の多くは、VB 2005へ移行しても同じ開発方法を採ってしまい、共通処理をクラスかモジュールでひとまとめにすることであろう。つまり開発環境は変わっても開発方法が変わらなければ、開発効率は劇的には向上しないのである。

 本連載ではVB 2005で開発効率を向上させるための方法(ヒント)を紹介していく。これらは筆者が日々の開発経験から得た「.NETにおける業務アプリケーション開発のベスト・プラクティス」である。しかし、単にそのままうのみしてしまうのではなく、その意味を十分に理解して、自分の開発手法と比較しながら良いところをうまく取り入れ、最終的に「自分に最適なVB 2005開発手法」を作るつもりで参考にしていただきたい。

 多くの業務アプリケーションでは、データベースは欠かせないだろう。そこで今回は、Visual Studio 2005(以下VS 2005)におけるデータベース(SQL Server 2005)とADO.NETの開発方法について紹介していこう。

1. データベースとADO.NET

 まずは前準備として、本連載で利用するデータベースの準備をしておく。

データベースの準備

 本稿では、企業開発で一般に行われる状況と同じになるように、SQL Server 2005上にデータベース「Sample」を配置する。Sampleデータベースは「ユーザー」テーブルと「都道府県」テーブルを持つ。なお本稿ではSQL Server 2005 Express Editionを使用している。

 本稿で使用するSampleデータベース内に上記2つのテーブル(そのほか、今回説明する一連のオブジェクト)を作成するためのSQLスクリプトを用意した(あらかじめSampleデータベースは作成しておく必要がある)。これは、以下のリンクからダウンロードできる(なお、このSQLスクリプトは、SQL Serverのクエリ・アナライザやMicrosoft SQL Server Management Studio Expressから実行できる)。

[サーバー エクスプローラ]の表示

 データベースを開発環境(VS 2005)から操作する際には[サーバー エクスプローラ]が便利だ。[サーバー エクスプローラ]を表示するには、IDEのメニュー・バーから[表示]−[サーバー エクスプローラ]を選択すればよい。[データ接続]という項目を右クリックして[接続の追加]を選択すれば、次の画面のような[接続の追加]ダイアログが表示され、Sampleデータベースを配置したサーバ名(本稿の例では「localhost\SQLEXPRESS」)を入力し、データベース名(本稿では「Sample」)を選択すれば、SQL Server 2005上に作成したデータベースに接続できる。

[サーバー エクスプローラ]における[接続の追加]ダイアログ
Sampleデータベースを配置したサーバ名(この例では「localhost\SQLEXPRESS」)とデータベース名(ここでは「Sample」)を指定する。

 [サーバー エクスプローラ]でデータベースに接続すると、次の画面のように、テーブル定義内容やデータを参照・編集できる。

[サーバー エクスプローラ]によるデータベースの操作

 以上でデータベースの準備は完了だ。

[参考]テーブルアダプタについて

 私が以前に執筆した「特集:.NET Framework 2.0のWindowsフォーム新機能(後編)」で紹介したのは、[データ ソース構成ウィザード]ダイアログでデータセットを作成する方法であるが、このときはまだVB 2005がベータ版だったため「テーブルアダプタ」については言及しなかった。

 しかしVB 2005やVS 2005でのデータベース・アプリケーション開発では、このテーブルアダプタが重要な役割を果たす。本稿ではこれについての解説は割愛するが、「連載:Visual Studio 2005によるWindowsデータベース・プログラミング」で詳しく解説されているので、データセットやテーブルアダプタの基礎がよく理解できていない方はそちらを参考にしていただきたい。

開発ヒント1:画面や印刷イメージに合致するビューの作成

 以前に「.NET Framework 2.0のWindowsフォーム新機能(後編)」でノー・コーディングで顧客情報を新規追加したり、顧客情報をデータベースより検索し、その明細情報を編集したりできることを示した。テーブルと画面(ユーザー・インターフェイス)や印刷イメージが一致する場合は、このとおりに開発すればよい。

 しかし一致しない場合は、いったん「ビュー」を作って整理し直すことで一致させることが可能だ。ビューを作成しておけば、テスト用のデータをテーブルに入れるだけで、最終的な画面イメージや印刷イメージをビューの結果表示から容易に想像できるようになるので、顧客ユーザーと画面仕様や印刷仕様を決める際にも役立つだろう。

 例えば「ユーザー」テーブルと「都道府県」テーブルから「ユーザーView」というビューを作成すると、画面や印刷との関係は次の図のようになる。

「ユーザーView」ビューと画面/印刷の対応関係
テーブルと画面(ユーザー・インターフェイス)や印刷イメージが一致しない場合には、ビューを定義すればデータを扱いやすい。

 次の画面は上の図で示したビューの内容を、[サーバー エクスプローラ]で実際に作成したみたところだ。

[サーバー エクスプローラ]で作成した「ユーザーView」の内容
「ユーザー」テーブルと「都道府県」テーブルから「ユーザーView」というビューを作成している。

 このビューを作成するには、[サーバー エクスプローラ]で[ビュー]項目を右クリックして[新しいビューの追加]を選び、そこで表示される[テーブルの追加]ダイアログで[テーブル]から「ユーザー」と「都道府県」を選択して[追加]ボタンをクリックする。すると、編集領域にビューのデザイナが表示されるので、適切な項目にチェックを入れるなどして、最後に[Ctrl]+[S]キーでファイルを保存する。保存する際に、[名前の選択]ダイアログが表示されるので、「ユーザーView」と入力して[OK]ボタンをクリックすれば、ビューが作成される。

 本稿のビューを作成するためのSQLスクリプトは、以下のリンクからダウンロードできる。

 このようにして作成したビューはIDE上で通常のテーブルと同様に扱うことができ、データソースとして利用することができる。

 

 INDEX
  実践で役立つ業務アプリ開発のヒント
  第1回 データベースとADO.NETの機能を適切に活用する
  1.開発ヒント1:画面や印刷イメージに合致するビューの作成
    2.開発ヒント2:ストアド・プロシージャの作成
    3.開発ヒント3:テーブルアダプタでのメソッドの作成

インデックス・ページヘ  「実践で役立つ業務アプリ開発のヒント」


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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH