Revision 4 of 4, by WikiArchive on 11-10-2026. The page as it is now.
SQLdb Tutorial4/ja
データベースのポータル
参照: · Databases 概要 · ライブラリ · フィールドの型 · コントロール · FAQ · SqlDBHowto/ja · TSQLQuery の利用 · メモリ上で動作するデータベースの作り方 · チュートリアル/練習となる記事: · 概要 · 0 - データベースのセットアップ · 1 - 開始 · 2 - 編集 · 3 - クエリ · 4 - データモジュール · SQLdb Programming Reference/ja · 各種データベース · Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos
概要
このチュートリアルは、Lazarus Data Modules を使用して、プロジェクトのデータ アクセス コンポーネントを、アクセスに関連付けられたプログラム ロジックから分離する方法をデモンストレーションすることを試みる。 このような分離により、プログラムのメンテナンスとデバッグが容易となる。
このチュートリアルは、Windows 7 と SQLite3 をデータベースとして使用し、Lazarus 1.0.8 と FPC 2.6.2 を使用して開発された。 ただし、以前のバージョンでも動作するはずである。 同様に、他の DBMS およびオペレーティング システムも、必要な場合は最小限の変更が必要である。
なぜデータモジュールを用いるのか?
以下のチュートリアルの後では簡単である:
'本物' のアプリケーションを開発することはより困難である。 'Form1' は異なるイベントとデータベースクエリを扱うことで指数的に大きくなる。
各テーブルへのアクセスを単一のデータモジュールに分離すると、デバッグとメンテナンスが非常に簡単になる。
アプリケーションã�¯å¤šã��ã�®ãƒ‡ãƒ¼ã‚¿ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’æŒ�ã�¤ã�‹ã‚‚ã�—れã�ªã�„ - テーブルã�Œ 1 ã�¤ã�¾ã�Ÿã�¯ 2 ã�¤ã�—ã�‹ã�ªã�„å°�è¦�模ã�ªã‚¢ãƒ—リケーションã�¯ã€�ã�Šã��らã�� 1 ã�¤ã�®ãƒ‡ãƒ¼ã‚¿ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã� ã�‘ã�§å��分ã� - より大ã��ã�ªã‚¢ãƒ—リケーションã�¯ã��れã�žã‚Œã�®ãƒ†ãƒ¼ãƒ–ルもã�—ã��ã�¯ãƒ“ューã�«å¯¾ã�—ã�¦ãƒ‡ãƒ¼ã‚¿ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’æŒ�ã�¤ã�“ã�¨ã�§æ�©æ�µã‚’å�—ã�‘ã‚‹ã�‹ã‚‚ã�—れã�ªã�„。ここに示すサンプルでは、単純なクエリを含む 2 つのテーブルのみを使用してるが、各テーブルにさらに多くのオプションを含めるように拡張できる。
始めてみる
Lazarus IDEで、新しいアプリケーションを作り、次いで、ファイル --> 新規... --> データモジュールをクリックする。
'New Form'を選択した場合、新しいウインドウが開く:
その差は、このウインドウ/フォームが見ることのできないコンポーネントのみを配置できる点である。 実際には、コンポーネントパレットを見ると、見ることのできないコンポーネントのみが選択可能なようにその数が減っている。
皆 それぞれの仕方を持っている
データ モジュールの使用方法は、必要に応じて異なる。 ただし、例として、少なくとも 2 つのデータ モジュールがあるとする:
Unit: DataModule1 このモジュールに T*Connection と TSQLTransaction を配置する。
DataModule1 はすべてのクエリに対するコネクションとして用いられる。
そこでそれぞれのテーブル、もしくはビューに対して DataModuleN を作る。
それぞれの DataModuleN はデータベースに接続するためUSES節にDataModule1(この例ではunit2)と記述することが必要である。
ここからは SQLdb Tutorial1/ja と同じである。コンポーネントは同様のやり方で、同一のアクセスで接続される。
データモジュールのさらなる用途
Additional コンポーネント
この例では、DataModule1はConnectionとTransactionを持つだけであるが、「現実」のアプリケーションでは、このコンポーネントはアプリケーションによって用いられる、見ることのできないコンポーネントも持つのが普通である。
例えば、INI設定を開いて、保存する TOpenDialog 、 TSaveDialog などである。ここで念頭に置いているのは、アプリケーションの固有の機能とデータアクセスを切り離すことである。アプリケーションにとってデータソースの変更は、決して小さな仕事ではないが、データソースと切り離すことは変更をより簡単にするだろう。
デバッグ
また、プログラムをデバッグすることは困難なことである。データアクセスと、仕事のためのロジックを切り離すことで、少なくとも問題を半減するまで独立してテストすることができる。
DataModule の重要性は同じデータベースとテーブルを用いた他のアプリケーションを開発するときにより明らかとなる。もちろんデータモジュールは新しいアプリケーションでも利用可能である。
From the Free Pascal wiki, page "SQLdb Tutorial4/ja", as the Internet Archive kept it on 2025-01-17, last changed on 2024-10-03. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.




