データベース千夜一夜第13回

プログラミングとSQL(1)
~ADO.NETによるデータベース制御の基礎
長谷川裕行
有限会社 手國堂

SQLの基礎からリレーション設定まで、ひととおり説明してきました。単純なようで奥の深いSQL。まだまだ紹介することはたくさんあるのですが、ここで、これまでに取り上げた基本的なSQLを、アプリケーションから利用する方法を紹介しておきましょう。

プログラミング環境には、Visual Studio .NETのVisual Basic .NET(以下「VB .NET」)を使い、ADO.NETによる接続と制御を試します。

プログラミングそのものは本コラムのテーマではないので、Visual Studio .NETの基本操作やVB .NETによる開発技法の詳細は割愛し、ADO.NETによるデータベース制御の概要を中心に紹介します。


サンプル・データベースとサンプル・アプリケーションの扱いについて
第9回以降、新しいサンプル・データベースを使っているのでご注意ください。新しいサンプル・データベースの登録方法については、第9回の記事から「新しいサンプルデータベースの準備」の項をお読みください。

今回は、VB .NETによるサンプル・アプリケーションを作成します。プロジェクトファイルをダウンロードし、任意のフォルダに解凍してください。サンプルのプロジェクトは“ex10”と“ex02”という名前のフォルダに保存されます。

ソースコードを入力して実際にプログラミングを試す場合は、パソコンにVisual Studio .NETがインストールされている必要があります。

Visual Studio .NETでプロジェクト(ex01.slnとex02.sln)を開いてもフォームデザインやソースコードが表示されない場合は、「ソリューション エクスプローラ」で“Form1.vb”をダブルクリックしてください。フォームデザインが表示されます。この状態でフォームをダブルクリックすればソースコードが表示されます。

出来上がった実行形式ファイルを試すだけの場合は、拡張子.exeのファイル(ex01.exeとex02.exe)をダブルクリックしてください。なお、サンプルを実行するにはパソコンに .NET Frameworkがインストールされていなければなりません。

また、SQL Serverはローカルで稼働していることを前提にしています。環境が異なる場合は、ソースコードの該当箇所(本文で示します)を適宜書き換えてください。


サンプル・アプリケーションの概要
今回は、2つのサンプル・アプリケーションを作ります。それらの概要を紹介しておきましょう。

どちらも、サンプル・データベースの「商品_mr」テーブルから「商品ID」をキーにしてレコードを抽出し、フィールドの値(商品名など)を表示するという、至ってシンプルな仕様です。

1. ユーザーの入力した「商品ID」をキーに「商品_mr」テーブルからレコードを抽出し、品名と販売単価を表示する
2. ユーザーの入力した「商品ID」をキーに「商品_mr」テーブルからレコードを抽出し、品名、仕入先名、在庫数を表示する

1.は非常に単純なレコード抽出処理、2.は「仕入先_mr」と「在庫_mr」をリレーションさせた上でのレコード抽出で、どちらもSELECT命令が基本となります。

- 目次 -
ADO.NETによるデータベース制御の基本
データベースとConnectionクラス
sqlConnectionクラスのオブジェクト
各オブジェクトの働き
データベース制御の流れ
サンプル(1)~ex01
フォームのデザイン
アプリケーションの構造
btnSearch_Click~コマンドボタン“btnSearch”のClickイベントを処理
Search(1)~オブジェクト変数の宣言
Search(2)~データベースの接続
Search(3)~SQLの発行
Search(4)~処理結果の表示
Search(5)~例外処理と後始末
サンプル(2)~ex02
3つのテーブルを関連付ける
btnSearch_Click~SQLの変更
Search~結果表示の変更
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役  http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.