Sign in Join
Wiki copytemporary

SQLdb Tutorial4/ja: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1+---
2+[[Portal:Databases/ja|**データベースのポータル**]]
3+参照: · [[Databases/ja|Databases 概要]] · [[Database libraries/ja|ライブラリ]] · [[Database field type/ja|フィールドの型]] · [[Data Controls tab/ja|コントロール]] · [[Lazarus DB Faq/ja|FAQ]] · [[SqlDBHowto/ja]] · [[Working With TSQLQuery/ja|TSQLQuery の利用]] · [[How to write in-memory database applications in Lazarus/FPC/ja|メモリ上で動作するデータベースの作り方]] · チュートリアル/練習となる記事: · [[Lazarus Database Overview/ja|概要]] · [[SQLdb Tutorial0/ja|0 - データベースのセットアップ]] · [[SQLdb Tutorial1/ja|1 - 開始]] · [[SQLdb Tutorial2/ja|2 - 編集]] · [[SQLdb Tutorial3/ja|3 - クエリ]] · 4 - データモジュール · [[SQLdb Programming Reference/ja]] · 各種データベース · [[Advantage Database Server/ja|Advantage]] \- [[MySQLDatabases/ja|MySQL]] \- [[mssqlconn/ja|MSSQL]] \- [[postgres/ja|Postgres]] \- [[Firebird/ja|Interbase]] \- [[Firebird/ja|Firebird]] \- [[Oracle/ja|Oracle]] \- [[ODBCConn/ja|ODBC]] \- [[TParadox/ja|Paradox]] \- [[SQLite/ja|SQLite]] \- [[Lazarus Tdbf Tutorial/ja|dBASE]] \- [[MS Access/ja|MS Access]] \- [[Zeos tutorial/ja|Zeos]]
4+
5+
16## 概要
27
3-このチュートリアルは、[[Data module|Lazarus Data Modules]] を使用して、プロジェクトのデータ アクセス コンポーネントを、アクセスに関連付けられたプログラム ロジックから分離する方法をデモンストレーションすることを試みる。 このような分離により、プログラムのメンテナンスとデバッグが容易となる。
8+このチュートリアルは、[[Data module|Lazarus Data Modules]] を使用して、プロジェクトのデータ アクセス コンポーネントを、アクセスに関連付けられたプログラム ロジックから分離する方法をデモンストレーションすることを試みる。 このような分離により、プログラムのメンテナンスとデバッグが容易となる。
49
5-このチュートリアルは、Windows 7 と SQLite3 をデータベースとして使用し、Lazarus 1.0.8 と FPC 2.6.2 を使用して開発された。 ただし、以前のバージョンでも動作するはずである。 同様に、他の DBMS およびオペレーティング システムも、必要な場合は最小限の変更が必要である。
10+このチュートリアルは、Windows 7 と SQLite3 をデータベースとして使用し、Lazarus 1.0.8 と FPC 2.6.2 を使用して開発された。 ただし、以前のバージョンでも動作するはずである。 同様に、他の DBMS およびオペレーティング システムも、必要な場合は最小限の変更が必要である。
611
712## なぜデータモジュールを用いるのか?
813
9-以下のチュートリアルの後では簡単である:
10-
11-- [[SQLdb Tutorial0/ja]]
12-- [[SQLdb Tutorial1/ja]]
13-- [[SQLdb Tutorial2/ja]]
14-- [[SQLdb Tutorial3/ja]]
14+以下のチュートリアルの後では簡単である:
1515
16-'本物' のアプリケーションを開発することはより困難である。 'Form1' は異なるイベントとデータベースクエリを扱うことで指数的に大きくなる。
16+ * [[SQLdb Tutorial0/ja]]
17+ * [[SQLdb Tutorial1/ja]]
18+ * [[SQLdb Tutorial2/ja]]
19+ * [[SQLdb Tutorial3/ja]]
1720
18-各テーブルへのアクセスを単一のデータモジュールに分離すると、デバッグとメンテナンスが非常に簡単になる。
21+'本物' のアプリケーションを開発することはより困難である。 'Form1' は異なるイベントとデータベースクエリを扱うことで指数的に大きくなる。
1922
20-```text
21- アプリケーションは多くのデータモジュールを持つかもしれない - テーブルが 1 つまたは 2 つしかない小規模なアプリケーションは、おそらく 1 つのデータモジュールだけで十分だ - より大きなアプリケーションはそれぞれのテーブルもしくはビューに対してデータモジュールを持つことで恩恵を受けるかもしれない。
23+各テーブルへのアクセスを単一のデータモジュールに分離すると、デバッグとメンテナンスが非常に簡単になる。
2224```
25+アプリケーションは多くのデータモジュールを持つかもしれない - テーブルが 1 つまたは 2 つしかない小規模なアプリケーションは、おそらく 1 つのデータモジュールだけで十分だ - より大きなアプリケーションはそれぞれのテーブルもしくはビューに対してデータモジュールを持つことで恩恵を受けるかもしれない。
26+```
2327
24-ここに示すサンプルでは、単純なクエリを含む 2 つのテーブルのみを使用してるが、各テーブルにさらに多くのオプションを含めるように拡張できる。
28+ここに示すサンプルでは、単純なクエリを含む 2 つのテーブルのみを使用してるが、各テーブルにさらに多くのオプションを含めるように拡張できる。
2529
2630## 始めてみる
2731
28-Lazarus IDEで、新しいアプリケーションを作り、次いで、ファイル --\> 新規 --\> データモジュールをクリックする。
32+Lazarus IDEで、新しいアプリケーションを作り、次いで、ファイル --> 新規... --> データモジュールをクリックする。
2933
30-![](/wiki-images/4/42/NewDM.jpg)
34+[![newDM.jpg](/wiki-images/4/44/newDM.jpg)](</File:newDM.jpg>)
3135
32-'New Form'を選択した場合、新しいウインドウが開く:
36+'New Form'を選択した場合、新しいウインドウが開く:
3337
34-![](/wiki-images/9/90/Dm1.jpg)
38+[![dm1.jpg](/wiki-images/3/3e/dm1.jpg)](</File:dm1.jpg>)
3539
36-その差は、このウインドウ/フォームが見ることのできないコンポーネントのみを配置できる点である。 実際には、コンポーネントパレットを見ると、見ることのできないコンポーネントのみが選択可能なようにその数が減っている。
40+その差は、このウインドウ/フォームが見ることのできないコンポーネントのみを配置できる点である。 実際には、コンポーネントパレットを見ると、見ることのできないコンポーネントのみが選択可能なようにその数が減っている。
3741
3842## 皆 それぞれの仕方を持っている
3943
40-データ モジュールの使用方法は、必要に応じて異なる。 ただし、例として、少なくとも 2 つのデータ モジュールがあるとする:
44+データ モジュールの使用方法は、必要に応じて異なる。 ただし、例として、少なくとも 2 つのデータ モジュールがあるとする:
4145
42-Unit: DataModule1 このモジュールに *T*Connection* と *TSQLTransaction* を配置する。
46+Unit: DataModule1 このモジュールに _T*Connection_ と _TSQLTransaction_ を配置する。
4347
44-![](/wiki-images/9/90/Conn.jpg)
48+[![conn.jpg](/wiki-images/d/dc/conn.jpg)](</File:conn.jpg>)
4549
46-DataModule1 はすべてのクエリに対するコネクションとして用いられる。
50+DataModule1 はすべてのクエリに対するコネクションとして用いられる。
4751
48-そこでそれぞれのテーブル、もしくはビューに対して DataModuleN を作る。
52+そこでそれぞれのテーブル、もしくはビューに対して DataModuleN を作る。
4953
50-![](/wiki-images/2/23/Dm2.jpg)
54+[![dm2.jpg](/wiki-images/8/89/dm2.jpg)](</File:dm2.jpg>)
5155
52-それぞれの DataModuleN はデータベースに接続するためUSES節にDataModule1(この例ではunit2)と記述することが必要である。
56+それぞれの DataModuleN はデータベースに接続するためUSES節にDataModule1(この例ではunit2)と記述することが必要である。
5357
54-ここからは [[SQLdb Tutorial1/ja]] と同じである。コンポーネントは同様のやり方で、同一のアクセスで接続される。
58+ここからは [[SQLdb Tutorial1/ja]] と同じである。コンポーネントは同様のやり方で、同一のアクセスで接続される。
5559
5660## データモジュールのさらなる用途
5761
5862### Additional コンポーネント
5963
60-この例では、DataModule1はConnectionとTransactionを持つだけであるが、「現実」のアプリケーションでは、このコンポーネントはアプリケーションによって用いられる、見ることのできないコンポーネントも持つのが普通である。
64+この例では、DataModule1はConnectionとTransactionを持つだけであるが、「現実」のアプリケーションでは、このコンポーネントはアプリケーションによって用いられる、見ることのできないコンポーネントも持つのが普通である。
6165
62-例えば、INI設定を開いて、保存する*TOpenDialog*、*TSaveDialog*などである。ここで念頭に置いているのは、アプリケーションの固有の機能とデータアクセスを切り離すことである。アプリケーションにとってデータソースの変更は、決して小さな仕事ではないが、データソースと切り離すことは変更をより簡単にするだろう。
66+例えば、INI設定を開いて、保存する _TOpenDialog_ 、 _TSaveDialog_ などである。ここで念頭に置いているのは、アプリケーションの固有の機能とデータアクセスを切り離すことである。アプリケーションにとってデータソースの変更は、決して小さな仕事ではないが、データソースと切り離すことは変更をより簡単にするだろう。
6367
6468### デバッグ
6569
66-また、プログラムをデバッグすることは困難なことである。データアクセスと、仕事のためのロジックを切り離すことで、少なくとも問題を半減するまで独立してテストすることができる。
70+また、プログラムをデバッグすることは困難なことである。データアクセスと、仕事のためのロジックを切り離すことで、少なくとも問題を半減するまで独立してテストすることができる。
6771
68-*DataModule* の重要性は同じデータベースとテーブルを用いた他のアプリケーションを開発するときにより明らかとなる。もちろんデータモジュールは新しいアプリケーションでも利用可能である。
72+_DataModule_ の重要性は同じデータベースとテーブルを用いた他のアプリケーションを開発するときにより明らかとなる。もちろんデータモジュールは新しいアプリケーションでも利用可能である。
6973
7074---
71-*From the Free Pascal wiki, page "SQLdb Tutorial4/ja", as it stood on 2024-03-30 after a change by Ariben, out of the wiki's dump of 2024-05-26. 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](/wiki-contact).*
75+*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](/wiki-contact).*

Back to history