半日で業務アプリケーションが開発できる!(前編)
Delphiとは
「操作性にこだわらないちょっとした業務アプリケーションなら、半日で作ることができる」
これは、プロトタイプやデモアプリケーションのことではありません。実際に「Delphi」を使って業務アプリケーション開発を行っているユーザの声です。Delphiは、データベースへの接続、高度なユーザインターフェースの構築など、業務アプリケーション開発に役立つ特徴的な機能を備えており、データベースに接続して、照会/更新するようなデモアプリケーションなら、それこそ数分でできてしまいます。
本連載では、データベースのアプリケーション開発にとても強いDelphiの特徴を具体的な手順と併せて紹介していきます。
データベース対応のUIコンポーネント
Delphiは、マウスによるドラッグ&ドロップ操作によって、ボタンや入力ボックスなどといった画面構成要素をフォームに配置して開発を行います。ボタンが押されたときの処理はイベントとして定義します。このような開発スタイルから、直感的な操作で、目的の処理をすばやく記述できるのが大きな特徴なのです。
通常のアプリケーションはもちろんですが、データベースを利用するアプリケーションについても、同じようなドラッグ&ドロップによる操作で開発が可能です。
しかし、データベースを利用する場合、データベースからデータを取り出し、それを表示して、編集されたら更新して、と煩雑な作業があると想像してしまいがちです。
しかしDelphiでは、こうした作業を全部やってくれる「データベース対応のユーザインターフェースコンポーネント」が数多く用意されています。例えばデータベース対応の入力ボックスである「DBEdit」は、データベーステーブルの特定のフィールドの情報を表示/編集できます。
ほかにも「DBImage」というものは、データベースに格納されたイメージデータを表示します。データの展開やレンダリングなど考えなくていいのです。また「DBGrid」は、汎用的で便利なコンポーネントです。データベースのテーブルを、Excelの表のように表示し、編集できるようにするものです。
ポイントは「DataSource」
データベースを利用するアプリケーションを開発する場合、接続するデータベースやそのドライバ、あるいはデスクトップアプリケーションなのか、それともクライアントサーバか、多層/分散型かといったアプリケーションの構成によって様々な技術が使われます。
Delphiの場合、ネイティブ接続あるいは他のドライバを使うのかといったデータベース接続アーキテクチャの違いはデータベース接続コンポーネントの違いによってあらわれます。Delphiには、様々なデータベース接続用のコンポーネントが用意されており、これらを使って、Oracle、Microsoft SQL Server、DB2、Sybase、MySQL、InterBase、ODBCデータソースなどに接続することができます。
使用するコンポーネントが違っても、データの供給/更新のパイプのかたちは共通なので、ユーザインターフェースの側からすれば、データベースの接続方法を意識しない開発が可能です。
ここで活躍するのが「DataSource」と呼ばれるコンポーネントです。DataSourceのプロパティによって、データベース接続コンポーネントと結び付けられたDataSourceコンポーネントを指定することができ、データベースからデータを取ってきたり、更新する処理が可能になります。
こうした作業は、すべてコンポーネントが行ってくれるので、開発者はほとんどノンコーディングで基本的な機能を実装できます。
開発ステップ1:データベース接続の設定
では、実際にDelphiを使ってデータベースアプリケーションを開発してみましょう。使用するデータベースは、Delphiに付属しているコンパクトなRDBMS「InterBase」です。
InterBaseに付属のサンプルデータベース内のテーブルを使用して、マスター/詳細のデータの表示を行うアプリケーションを作成してみましょう。作成の際にはInterBaseを利用するため、あらかじめInterBase 2007サーバを起動する必要があります。
ここで使用するデータベーステーブルは、CUSTOMERとSALESです。SALESには、CUSTOMERに登録された顧客の売り上げデータが保管されており、CUSTOMER:SALESは、1:nの関係にあります。
Delphi 2007 for Win32を起動する
はじめに、データベース接続の設定を行います。Windowsのスタートボタンより、「プログラム → CodeGear RAD Studio → Delphi 2007」を選択し、Delphi 2007 for Win32を起動します。
InterBaseとの接続の設定
最初にInterBaseとの接続の設定を行います。Delphiの右上にあるプロジェクトペインの「データエクスプロラー」タブをクリックします(図1)。