ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(2) – テーブル接続一対一アプリケーションの作成手順

with 4 comments

前回の記事「片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(1) – テーブル接続一対一の一般的な業務アプリケーションは30秒でできる。」にも書いたが、プログラミングが簡単にできるようになった、と言っても、数年前までは SQL Server のようなデータベースに接続してデータを送受信する、クライアント・サーバー型のアプリケーションを作るのは、やはりそれなりに難しかった。初心者向けのプログラミング解説書は、たとえば「電卓」や「メモ帳」のようなWindows Form 上で機能するアプリケーションの作り方はたいへん丁寧に説明され、誰でもすぐに作ることができるようになっているが、データベースに接続するクライアント・サーバー型のアプリケーションの作り方は全く説明されないか、説明があっても少しだけで、業務に使えるアプリケーションを作るまでには説明されていない。そこで「データベースアプリケーションの作り方」といった書籍をみることになるが、こちらは敷居が高く、読み進めるための高度な前提知識が必要で断念せざるを得ない場合が多い。

しかし今は違う。Visual Studio 2013 がある。

Visual Studio 2013 を使えば、SQL Server に接続するクライアントアプリケーションはあっという間にできる。単にテーブルと一対一で接続し、データを閲覧、編集することでよければ、ウィザードをすすめることで数分、極端な場合たった30秒で作ることができる。手順を紹介しよう。ここで使うのは Microsoft の Web サイトから無償でダウンロードできる Visual Studio Express 2013 for Desktop だ。

まず Visual Studio 2013 を起動し「新しいプロジェクト」をクリックする。テンプレートは Windows フォームアプリケーション、言語は C# を選ぼう。

VS2013_30_minuits_001_mid_640

<fig.1 : Visual Studio 2013 を起動し「新しいプロジェクト」をクリックする>

VS2013_30_minuits_002_mid_640

<fig.2 : テンプレートを Windows フォームアプリケーション、言語は C# とする>

VS2013_30_minuits_003_mid_640

<fig.3 : Windows フォームアプリケーションを作る準備ができた>

空白のフォームが生成しフォームアプリケーションを作る準備ができた。次に SQL Server に接続するための「データ接続」を構成しよう。「データ接続」を構成するには、画面の左にたたまれているタグ「データソース」をクリックして開く。「プロジェクトには現在関連データソースがありません。」と表示がされるので、「新しいデータソースの追加」をクリックする。

VS2013_30_minuits_004_mid_640

<fig.4 : 「データソース」タグをクリックして「データソース」を構成する>

「データソース」タグをクリックして「データソース構成ウィザード」をはじめる。まず「データソースの種類を選択」をする。ここではSQL Server に接続したいので「データベース」を選ぶ。

VS2013_30_minuits_005_mid_640

<fig.5 : 「データソース構成ウィザード」で「データソースの種類を選択」をする>

次に「データベースモデルの選択」をする。「データソースの種類を選択」で「データベース」を選んだ場合は「データセット」しか選択肢がない。

VS2013_30_minuits_006_mid_640

<fig.6 : 「データソース構成ウィザード」で「データベースモデルの選択」をする>

次に「データ接続の選択」になるが、もし Visual Studio で一度でもデータ接続を作ったことがあれば、作ったことのあるデータ接続の名前が表示されており選択できるようになっている。これを使ってもいいし、あるいは利用できるデータ接続が表示されない場合は「新しい接続」ボタンをクリックしてデータ接続を作成する。

VS2013_30_minuits_007_mid_640

<fig.7 : 「データソース構成ウィザード」で「データ接続の選択」をする>

「データ接続の選択」で「新しい接続」をクリックすると「接続の追加」ウィンドウが表示される。デフォルトで「データソース」が Microsoft SQL Server (SqlClient) になっていることを確認し、「サーバー名」のドロップダウンリストボックスをクリックすると、その環境で利用することができる SQL Server の一覧が表示される。なお「サーバーへのログオン」はデフォルトで「Windows 認証を使用する」となっている。これはActive Directory のユーザー認証を使って SQL Server にログオンする方法で、SQL Server への接続にいちいち ID やパスワードを要求されず、ユーザー管理を Active Directory で一元管理できる方法で「統合 Windows 認証」などと呼ばれることもある。もう一方の「SQL Server 認証」は認証を SQL Server で行う方法で、Active Directory を使わない環境などではこちらを利用することになる。ユーザー認証は一元管理することが望ましいので、推奨されるのは「Windws 認証」だ。

VS2013_30_minuits_008

<fig.8 : 「データソース構成ウィザード」で「接続の追加」をする>

「サーバー名」を選択できたらグレーアウトしていた「データベースへの接続」項目を設定することができる。「データベース名の選択または入力」のドロップダウンリストボックスで、対象の SQL Server の利用できるデータベース名が一覧で表示されるので、接続したいデータベース名を選択する。

VS2013_30_minuits_009

<fig.9 : 「データソース構成ウィザード」で「接続の追加」をし「データベースへの接続」を設定する>

「データベースへの接続」が設定できたら念のため「テスト接続」のボタンをクリックして SQL Server に接続できることを確認しよう。「テスト接続に成功しました。」のメッセージウインドウが表示されればいい。

VS2013_30_minuits_010

<fig.10 : 「データソース構成ウィザード」で「テスト接続」をしテスト接続が成功したメッセージ>

次に進むと「データ接続の選択」に戻り、「アプリケーションがデータベースへの接続に使用するデータ接続」に新たに作成されたデータ接続が表示されている。この名称は、コンピュータ名+SQL Server インスタンス名+データベース名のように付けられる。

VS2013_30_minuits_011_mid_640

<fig.11 : 「データソース構成ウィザード」で「テスト接続」をしテスト接続が成功したメッセージ>

ここまででデータベースへの接続文字列が自動的に生成している。これを確認するには「アプリケーションに保存する接続文字列(詳細を参照するために展開」を展開する。

VS2013_30_minuits_012_mid_640

<fig.12 : 「データソース構成ウィザード」でアプリケーションに保存する接続文字列を確認する>

この接続文字列を直接編集することはないが、Visual Studio 2013 のデータソースウィザードを使わず手作業でデータベースの接続を構成する場合には参考になる。

次にすすむと「接続文字列をアプリケーション構成ファイルに保存する」のメッセージが表示される。接続を保存する名前が自動的につけられており、特に必要がなければ変更する必要はない。

VS2013_30_minuits_013_mid_640

<fig.13 : 「データソース構成ウィザード」で接続文字列をアプリケーション構成ファイルに保存する>

データベースへの接続文字列が保存されたら、次はこのフォームに接続するテーブルやビュー、ストアドプロシージャなどを選択する。接続したいテーブルやビュー、実行したいストアドプロシージャなどをチェックボックスで選択して「完了」をクリックする。これでデータソース構成ウィザードは終了だ。

VS2013_30_minuits_014_mid_640

<fig.14 : 「データソース構成ウィザード」で接続したいテーブルやビュー、ストアドプロシージャなどを選択する>

データソース構成ウィザードを終了すると Visual Studio 2013 の開発画面に戻る。展開された左のタブ「データソース」にデータソース構成ウィザードで構成したデータセットと接続するテーブル名が表示されている。テーブル名を展開するとフィールドが確認できる。

このテーブルの内容をフォームに表示し、データを編集できるようにするには、ただ一つの操作だけ、テーブル名をフォームにドラッグするだけだ。

VS2013_30_minuits_016_mid_640

<fig.15 : 「データソース」タブのテーブル名「生徒」をフォームにドラッグしてデータグリッドビューなどを生成した>

「データソース」タブのテーブル名「生徒」をフォームにドラッグすると、生徒テーブルのフィールド名を項目とする表形式の「データグリッドビュー」が生成する。またフォームの上部には、データの移動や保存、削除などを操作するためのメニューバーのような「バイディングナビゲーター」もできる。それ以外にもフォーム上の形には現れないが、SQL Server とデータをやりとりするための概念的なオブジェクト「データセット」や「バインディングソース」、「テーブルアダプター」、「テーブルアダプターマネージャー」、そして「バインディングナビゲーター」が自動的に生成する。これら概念的なオブジェクトはデータを操作するプログラムで使われるが、テーブルのデータに単純に接続するだけのアプリケーションでいいなら、特に詳細を知る必要はない。

このままではテーブルのフィールドが一覧できないので、フォームとデータグリッドビューを横に大きくし、フィールドの幅を整えるなどの調整をする。

VS2013_30_minuits_017_mid_640

<fig.16 : デザインビューでフォームとデータグリッドビューの大きさ、フィールドの幅を調節する>

ビルドしてアプリケーションを実行すると、SQL Server からデータを取得し、データグリッドビューに表示される。

VS2013_30_minuits_018

<fig.17 : ビルドしてアプリケーションを実行する>

このように手順を説明すると手間がかかるように見えてしまうが、実際はウィザードを画面にしたがって進めるだけなので拍子抜けするほど簡単だ。これまでデータベースアプリケーションの作成に苦戦した人には、目から鱗が落ちる開発プロセスだろう。

簡単な Windows Form アプリケーションは作ることができるが、データベース接続は難しい、と思って諦めていた人には絶好のチャンスが訪れた。そう思って、ぜひ Visual Studio 2013 と SQL Server を使ってデータベースアプリケーションのプログラミングにチャレンジしてしてほしい。

<前の記事>
「片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(1) – テーブル接続一対一の一般的な業務アプリケーションは30秒でできる。」

<次の記事>
片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(3) – 「検索条件ビルダー」を使ってキーワードによる選択クエリをノンコードで実装する

コメント / トラックバック4件

Subscribe to comments with RSS.


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。