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

InfoPath & SQL Server !

Posts Tagged ‘クライアントサーバー型アプリケーション

片手間プログラマーの復権 – 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) – 「検索条件ビルダー」を使ってキーワードによる選択クエリをノンコードで実装する

広告

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

with one comment

Microsoft のVisual Studio はアプリケーションソフトを簡単に作れるように進化してきた。とりわけ初心者に対するサポート意識は強く、プログラミングのすそ野を広げることに注力しているように思える。コンピュータが進化するとともに、とりわけインターネット環境が普遍的なものとなった今日では、コンピュータで処理できること、言い換えれば処理しなければならないことが多様化し複雑化しているが、Visual Studio を使えば高度なアプリケーションをますます簡単に作ることができる。

書店にいくと Visual Studio を使った初心者向けの解説書が山ほど目に入る。しかしその多くは、Windows Form を作り、電卓やメモ帳、あるいは簡単なパズルゲームなど、Windows Form で完結する単体のアプリケーションを開発するまでであり、データベースに接続してデータを操作する一般的な業務アプリケーションを作ることは、やはりそれほど簡単なことではなかった。振り返ってみれば2003年に俺は現在の勤務校に異動になり、学校の学籍管理システムを運用することになったが、当時はまだ Visual Studio を使ってもクライアントサーバー型の業務アプリケーションを作ることは難しかった。そこでデータベースを SQL Server とし、まずはデータベースの構築手法を身に付け、クライアントには InfoPath を使うことでクライアントサーバー型のシステムを構築した。教員としての本業の傍ら、いわゆる「片手間プログラマー」として、この選択肢は間違っていなかった。このシステムは極めて低コストでシステムを構築でき、現場のニーズを反映し、かつ柔軟に追加変更可能な学籍管理システムとして今でも順調に動いている。

だが Visual Studio 2010 あたりからデータベース接続の処理が簡単になりはじめ、Visuak Studio 2013 では極めて簡単に SQL Server に接続するデータベースアプリケーションを構築することができる。SQL Server にテーブルができていれば、そのテーブルに対して一対一でデータ編集をするような簡単なクライアントアプリケーションは、たった30秒で作ることができる。まったくもって驚くべき時代になったものだ。俺のような専門職でない「片手間プログラマー」でも業務で使えるクライアントアプリケーションを簡単に作ることができる時代になったのだ。

IMG_2461_mid_640_480

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

IMG_2458_mid_640_480

<fig.2 : Visual Studio 2013 で「新しいプロジェクト」をクリックした瞬間からストップウォッチを動かす>

IMG_2460_mid_640_480

<fig.3 : SQL Server のテーブル「生徒」に接続し、生徒情報を編集するアプリケーションを作ってビルドした>

IMG_2459_mid_640_480

<fig.4 : ビルドが完了した瞬間にストップウォッチを止めた>

あっという間に SQL Server に接続するアプリケーションができた。まったくノンコードである。もちろんこのアプリケーションには余計な工夫が入っていないので、 SQL Server に接続するとテーブルのデータを全部取得し、単純にデータを変更して送信することや新しいデータを手作業で加えることなど、基本的な操作しかできない。しかし、これほど簡単にクライアントアプリケーションができるということは驚愕である。

Microsoft 社は開発者を支援する視点を大切にしており、常により簡単に、より効率よくプログラミングができる環境を提供することに努力を怠らない。プログラミングは今後もますます身近なものになり、俺のような「片手間プログラマー」が活躍する時代になるだろう。焦ることはなく、いまできないことも、いつか必ず Microsoft が実現してくれることを信じて、目の前の技術に真摯に向き合っていればいい。Microsoft 社は Visual Studio 2013 でデータベースアプリケーション開発の革命を成し遂げたと言っていいだろう。

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