SQL整形やテーブル設計書にリンクした論理名表示などシステム開発に便利な機能が満載

  By TomTom

はじめに

QueryBookはシステム開発者のためのSQLツールです。 ADO接続により、データベースはもちろん、ExcelCSVファイルなどにもSQL文を発行できます。また、SQLを使用言語にあわせてコード化するなど豊富な機能を備えています。

  • OLEドライバーさえあればほとんどのDBに接続可能。(ODBCもOLE経由で接続)
  • 一つのExcelファイルをDBとみなして接続、ワークシート間の結合SQL発行が可能。
  • 一つのフォルダをDBとみなして接続し、CSVファイル間の結合SQL発行が可能。
       (CSV接続用のスキーマファイル生成機能つき。)
  • スキーマファイルを使えば固定長テキストファイルにもSQLを発行できます。
  • 多彩なグリッド表示。
      マルチロウ対応高速グリッド、グループ集計可能な高機能グリッド、カード型グリッド。
  • フィールド数が多いテーブルで便利な単票表示
  • 各グリッドにはBLOB型データも表示可能(Memo,RichEdit,Imageに対応)
  • BLOB型対応エディタ(Memo,RichEdit,Imageに対応)
  • テーブル設計書とリンクし物理名論理名で表示、備考などフィールド定義も参照可能。
  • SQL整形機能、および任意の言語用にコード生成、反対にコードを除去してSQL抽出。
  • SQL入力支援機能。
      エリアス対応で入力候補表示時もテーブル設計書とリンクし論理名、備考も表示。
  • SQL文をビュジュアルにデザインできるクエリービルダー
  • パラメータクエリ対応。
      パラメータ自動検出によりパラメータ入力欄自動表示。
  • データ取得後フィルター、並べ替え。
  • テーブルの保存、読込機能
      編集状態まで保存復元可能なのでブリーフケースモデルになります。
  • MDIインターフェイス採用により、フォーム毎に複数の接続も同時に実現。
    (DB間のデータのコピペとかテーブル比較なども簡単になりました。)
  • テーブル比較機能
  • DB間テーブル一括コピー機能。
  • グリッドのデータを使ってパラメータクエリ一括実行。
  • エビデンス作成に便利な追記型Excel出力機能。
  • マルチロウ対応高速グリッド、集計グリッドからはOffice不要のNative Excel出力
  • CSV,HTML,XML,CSV出力。
  • どうでもいけど、スキン対応。多くの組み込みスキンから好きな外観に変更。
  • インストール不要、Exe一つをコピーするだけ。ランタイムもフレームワークもなし、レジストリを汚さないので安心です。
    (MDAC2.6以降が必要。その前のバージョンでも動作するけど...)

対象OS

Windows2000以降のNT系OS。
(Windows2000ではGDI+のライブラリを別途インストールする必要がある場合があります。)

使用上の注意

QueryBookはシステム開発者のためのツールです。その使用については使用者が責任を持って扱ってください。誤った操作、QueryBook自体のバグなどが原因で大切なデータを破壊してしまうかもしれません。いかなる場合でも作者は一切関知しません。責任を負いません。

ありがちな誤り:キーを含めずにSelectし、グリッド上での削除を保存したりすると背後でいっぱい消しちゃいます。

ライセンス

とりあえず、フリーウエアにしておきますが、カンパ歓迎です。将来シェアウエアになってもこのバージョン(Ver2)に関してはご自由にお使いになって結構です。今後、ADO接続ではなく、Native接続も作って行きたいと思っていますし、世界中に転がっている面白い有料コンポーネントの購入資金にもしたいものでよろしくです。

開発環境について

Delphi 2009

ポトペタで簡単なアプリがすぐに出来てしまう優れもの。業務ではJavaや.netも使うけど、GUI、特にDB関連の生産性はダントツですね。データセットやデータバインドが賢いので実はSelect文さえ書いてしまえばGUIや更新処理はノーコーディングです。(だからQueryBookがあるわけで...)
あとは必要に応じて更新に介入する処理を書けばよし。 あと、なんたってフリーのコンポーネントがわんさかあるし、有料のコンポーネントもソースコード付きで.net用より高機能でしかもかなり安いのも魅力。
また出来上がったアプリもネイティブなので非常に高速に動作します。CPUの進化により.netのモッサリ感は気にならなくなったけど、Delphiで作ると一段とキビキビ動作して気持ちがいいです。フレームワークも不要なでのインストーラも不要、exeを置くだけOKという簡便性も魅力ですね。

海外ではそれなりのシェアがあるのに日本では異常に認知度が低いですね。製品作りはもちろんですが、私のところでは製品開発の補助ツール作成に活躍しています。マスタメンテ画面なんかお客さんに納品する物よりDelphi製の補助ツールの方が便利だったりしてね。実物の物作りの現場では治具の性能が品質や生産性を大きく左右するのに、ソフトウエアの開発現場では未だに個々人でAcessとかで工夫してやっているのを見るとご苦労さんって感じです。私のところではささっとDelphiでツールを作って製造やテストに利用しています。 http://www.embarcadero.com/jp

JVCL

ツールパレットがあふれんばかり大量のコンポーネントが用意されています。しかも無料。GUIだけでなく、豊富なクラス、関数群が手に入ります。難点を言えばあまりに多すぎて目的のものを探し出すのが大変。一見地味なものばかりだけど生産性はぐっとアップします。
This program contains JVCL source code that can be obtained from http://jvcl.sourceforge.net

Virtual Treeview

ツリービューコンポーネントです。これも無料。特徴は無茶苦茶高速。これを使うとWindows標準のツリーは遅くて使い物になりません。
This program contains Virtual Treeview source code that can be obtained from http://www.soft-gems.net/

ExpressQuantumGrid

グリッドコンポーネントで有料です。特徴はなんたってその高機能。普通のグリッドやマルチロウ、カード型など豊富なグリッド本体と豊富なコンポーネント群が付いてきます。El Tabelle とInputMan + 一杯コンポーネント が同時に手に入ってしかもダントツに安いし、ダントツに高速です。
難点は高機能すぎて最初は訳分からない点ですね。種類の違うグリッドを同一コードで使えるように工夫してあってオブジェクト指向の成果の見本みたいな作りです。ぜひソースコード付きで購入してみてください。こんなに複雑なコードでこんなに高速に動作するのは本当に驚きです。
http://devexpress.com/

EControl Syntax Editor SDK

SQLエディタ部のエディタコントロールで有料です。単なるエディタではなく構文解析機能や開発環境構築に必要な様々なコンポーネントのパッケージになっています。あまりに高機能なのでまだまだ使いこなせていないのが現状だったりして...。それにしてもDelphiはロシア製コンポーネントが一杯あるのが面白いですね。このコンポーネントはDelphi2009より前のバージョンでもUNICODE対応になるのが魅力です。海外コンポーネントにありがちな2バイト文字での不具合もUNICODE版なら問題ないようです。(コンパイラ指令でUNICODE版になる。)
http://www.econtrol.ru/

VCLSkin

スキンコンポーネントで有料です。コンポーネントを一つ二つ置くだけでアプリのイメージがガラッと変わります。これの特徴は自作のコンポーネントでもサードパーティのコンポーネントでもスキンを適用することが出来ることですね。ただ、ExpressQuantumGridに適用できないようでちょっと残念。ExpressQuantumGridも独自のスキンシステムを持っているのが原因かしらん?
http://www.link-rank.com/

開発の経緯

事の始まりはテーブル名やフィールド名がすべて連番という厄介なシステムのテストをするところから始まったんです。ハッキリ言って訳分からんぞ、ってことで物理名を日本語にして表示するツールを作ったのが事の発端なんです。この機能自体はDelphi使ってお昼休みにちびちびやって1週間ほどでできたかかな?。あとはその当時使っていたSQLのツールで不満がある点を少しずつ実装していって、新しい案件が入るたびにそれにあわせて機能を充実していったらこうなっちゃったわけです。

んで、なんやかんやで3年近く社内で個人的に使っているうちに結構いい感じになり、周りのみんなも使うようになったので広く公開することにしました。今までほとんど昼休みだけの開発で、しかもすべてDelphi純正コンポとフリーウエアだけで構成してきたのですが、公開するとなったらつい欲が出て海外の有料コンポに手を出しちゃいました。おかげでこの半年ほどでえらく高機能に進化、作業も自宅で深夜行うことが多くなったのですが、まだまだ新しいコンポーネントを使いこなせていないし、とてもサポートなんか無理かな?

サポート

というわけで、サポートはありませんが、とりあえず掲示板をつくりました。バグなどお気づきの点がありましたら書込みしてくださいね。

使用条件

このプログラムの著作権は作者である TomTom が保持します。
このプログラムをインストールもしくは使用したことによっていかなる損害が生じた場合にもTomTom はいっさい責任を負いません。
このプログラムにどのような不備があっても、それを訂正する義務を負いません。このプログラムの転載、配布する場合は TomTom の許可が必要です。