JDBC-ODBC Bridge
参考書
ここからはいよいよ(といってもこれまでほとんど何もしてないのですが)、DB接続アプリに挑戦です。
参考書は前々から買って置いた「実践JDBC Javaデータベースプログラミング術」
(本の紹介はこちら)です。
作者のページはこちらで、
わたしのお気に入りのサイトの一つです。実は、このコーナーのタイトルの
NetBeans Experimentsというのも、Java Experiment Roomのパクリです(上を見すぎですね)。
で、この本の中では書籍管理システムを作っていますので、これをちょっとずつまねながら、
NetBeansでのJDBCプログラミングの方法を探っていきたいと思います。
方針
さて、NetBeansではVisualCafeやORACLEJDeveloperのようなデータベース接続用のウィザードは
用意されていません。ちなみに私見ですが、それらのウィザードで作られるフォームは、基本的に
「最初」「前」「後」「最後」というようなボタンがあるものであり、あまり役に立つとは思えません
(何かデータを探すときに、一行ずつ見ていく訳には行かないですよね?)。
実は、NetBeansでもバージョン2.1のbuild 201ではJDBC関連の機能があるようで、さらに、
もうしばらくすると、現行バージョンのパッチも提供されるようです。一応は期待して待つことにします。
というわけで、少なくとも現在私の持っているバージョンでは、NetBeansの役割は基本的には
フォーム作成に限定されることになると思います。
それにDB接続ロジックを追加していく形で作っていこうと思います。
今回データベースはMSAccess97を使います。テーブル定義等は、こちらを直接見ていただくことにします。
もしくは参考書を手に入れてご覧下さい。
フォームデザインに関する色々
まず、テスト的に作るのが下のようなフォームです。
![](images/empinfo.gif)
当然このデザイン部分でNetBeansが活躍するのですが、ここで気付いた点。
「NetBeansは日本語が使えない!」
例えばjLavelのtextプロパティを日本語にしようとしても、そもそもIMEが有効になりません。
また、一旦他のエディタで修正したのを読み込んでも日本語は文字化けしてしまっているのです。
仕方がないので、英語のみでやっていくことにします。
もうひとつは、参考書では
pnlHeader.add (new javax.swing.JLabel("社員情報"));
という書き方をしているのですが、グラフィカルに作ろうとする場合はこのような書き方は無理です。
まず、パネルを作って、次にラベルを作って、それをパネルにラベルをaddするという書き方しか
できないのです。これも仕方ないところでしょう。
GridBagLayoutの設定はInspectorウィンドウのLayoutタブの部分で行います
(最初はこれに気付かず、「使えない」と思ってしまいました)。
これも、きちんとできるのですが、同様の問題があり、
gridBagConstraints1 = new java.awt.GridBagConstraints ();
gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
というような記述が何回も登場することになってしまいます。
ボタンのイベントもそうですし、そもそもimport文も生成しないようです。
この辺りは、どこまで割り切って考えるかということになりそうです。
見栄えの部分ができたところで、次に処理の記述に入ります。
残念ながら、私の貧弱な環境ではエディタはまともに動きませんし、いい環境だとしても
NetBeansのエディタは実は評判はあまりよくありません。ので、ここからの作業は、通常の
エディタで行います。何回かコンパイルエラーを繰り返しながら、何とか動くものが作れました。
しかし、この辺はNetBeansの実験室としては書いてもしょうがないですね。ここからはどうしましょう?
|