Visual J++のデータベースウィザード   (1997年3月9日)

 1997年3月初旬に、米国のマイクロソフトからVisual J++ Ver.1.1がリリースされることが発表されました。同時に、そのトライアル版が配布されましたが、残念ながら書籍には含めることができなかったので、ホームページで紹介しましょう。特に、DAO/RDOを利用したアプレットを簡単に作成できるDatabase Wizard(データベースウィザード)が組み込まれたあたりは、本書のテーマに強く関連する部分です。

 Visual J++ Ver.1.1は、JDK 1.02ベースであり、JDK 1.1が反映されたものではありません。従って、JDBCなどの機能は利用できないということになると思われます。Developer Studioで作業する形式は変わりませんが、メニュー構成などはかなり変わっているので、やや戸惑うところです。プロジェクトを作り、ソースを作ってコンパイルし、デバッグができる点は変わっていません。目新しいところでは、マクロの機能に対応し、Visual BasicでDeveloper Studioをコントロールできるようです。Visual J++ Ver.1.1ではActive Xコントロールの作成もウィザードでできるということになっています。

 データベース関連の機能については、DAOのデータベースの特定のテーブルをブラウズできるようなアプレットを対話的に作成できるデータベースウィザードが付いたことが大きな特徴です。また、トライアル版では、DAOのVer.3.5、RDOのVer.2.0が組み込まれます。Ver.1.0ではJavaタイプライブラリでDAOをJavaのクラスとして認識させる作業が必要でしたが、トライアル版ではDAO 3.5のためのファイルが自動的にシステムフォルダのJava\Trustlibに作成されているようです。なお、製品版は、Professonal Edditionとなっています。トライアル版はAccessの利用しかできないことになっています(RDOをウィザードで選択できない)が、製品版はRDOが利用できるのでODBCベースで利用できるデータベースにアクセスできます。また、cabファイル作成キットや電子サインのためのキットなどが製品版には含まれます。

データベースウィザードでアプレットを作る

 データベースウィザードを実際に使用してアプレットを作成してみます。基本的な流れは、画面を追っていけば分かると思います。次のようになります。(以下、図版をクリックすると原寸で表示できます。)

  1. FileメニューからNewを選択すると、新しく作成するものを選択するダイアログボックスが表示されます。ここで、Database Wizard for Javaを選択し、右側に作成するクラス名を指定します。これで、フォルダが作成され、そのなかにプロジェクトやソースが自動的に作成されます。

  2. アプレットウィザードが起動します。まず、アプレットが利用するデータベースファイルを指定します。ボタンを押してダイアログボックスでmdbファイルを指定できます。

  3. 指定したデータベースの中の、どのテーブルの読み書きを行うかを選択します。1つだけが選択できます。

  4. アプレットで表示したり編集するフィールドを選択します。このリストでは複数の項目を選択できます。

  5. ソースコードにコメントを含めるかどうかを指定します。これがウィザードの最後の画面です。

  6. 最後に、作成内容の確認が表示されます。

 以上のように、データベース、その中のテーブル、そしてフィールドを選択することで、それに対応したアプレットが作成されるということです。実際に作られたアプレットを実行してみます。

データベースウィザードで作ったアプレット

 データベースウィザードの作成結果は、そのまま通常通りコンパイルすれば実行することができます。実行した結果は、次の図のようなものです。フィールドの内容をテキストフィールドに表示し、フィールド名のラベルが表示されています。その下には、ボタンが並んでいますが、前後のレコードに移動するボタンだけでなく、レコードの追加や削除、保存、再読み込みなどの機能が利用できるようになっています。Visula J++ Ver.1.0のDAOSampleに比べると、データの修正や追加ができるなど、それよりも高いものになっています。

 作られるソースファイルは2つだけで、しかも多くはクラス名と同じ名前のソースファイルにまとまっています。プログラム上は、Visual J++ Ver.1.0でのDAOやRDOを利用したプログラムとは大きくは変わりませんが、フィールドを利用するクラスDBFieldを作成したソースの側で定義していることが目立つところです。また、DAOはVer.3.5を使うので、パッケージの読み込みは「import dao350.*;」というステートメントで行います。

 このように、データベースの内容をブラウズするためのアプレットは非常に簡単に作成できるのですが、このアプレット自体がそのまま業務に使えることは少ないでしょう。そのため、それなりに改良をする必要が出てきますが、ざっと見たところではやや改良はやりにくい感じです。もちろん、子細に変更すればいいのですが、できれば作成されたアプレットのクラスをスーパークラスにした新しいクラスを作り、独自の仕様を織り込んだアプレットを手軽に作りたいと考えます。しかしながら、データベースウィザードで作ったものは、たとえば、initメソッドに延々と記述があるなど、コンポーネントととして分離して利用しやすいものではありません。

 また、1つのテーブルだけが対象になっているので、テーブル間の連携などを含むアプレットとなると独自に機能を組み込むことになります。


最初のページに戻る