Sign in Join
Wiki copytemporary

SQLdb Programming Reference/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: SQLdb Programming Reference/ja

OldNewLine
1+## ドキュメンテーション
2+
3+公式ドキュメントを参照されたい [SQLDB documentation](http://www.freepascal.org/docs-html/fcl/sqldb/index.html)。
4+
5+この記事はSQLDbについて詳細を説明しようとしているが、公式のドキュメントがより権威的である。
6+
7+## クラス構造
8+
9+以下の図は、SQLdbに関連する主要なコンポーネントの階層と必要なリンクを示すことを試みている。これは完全ではなく、"適切な"図の構造を使用していないため、あまり深く読み込まないでいただきたい。実際に何が起こっているのかを理解するために、ソースコードを調べる必要がある部分を見つけるのに役立つことを望む。
10+
11+<figure>
12+<img src="Laz_SqlDB_components.png" title="Laz_SqlDB_components.png" />
13+<figcaption>Laz_SqlDB_components.png</figcaption>
14+</figure>
15+
16+#### 注意
17+
18+- TDatabaseからTTransactionへのリンクはTransactionsであり、これは多くのトランザクションが1つのデータベースに可能であることを示している。しかし、TSQLConnectionからTSQLTransactionへの新しいリンクがTransactionとして定義されており、1つのデータベースに対して1つのトランザクションしかない。これは実際には以前のリンクを隠していないが、新しいリンクのみが公開されており、親リンクを使用することはおそらく適切ではない。
19+- 継承されたリンクのうち、一部は新しい型に型変換する必要がある。SQLQuery.Transaction.Commitを呼び出すことはできない。CommitはTSQLTransactionでのみ定義されている。SQLTransaction.Commitまたは"(SQLQuery.Transaction as TSQLTransaction).Commit"を呼び出すこと。
20+
21+## インタラクション
22+
23+### TConnection
24+
25+[[TConnection|TConnectionはSQLデータベースへの]]接続を表す。日常的には、特定のデータベース用の派生クラス(例:Interbase/Firebirdの場合はTIBConnection)を使用するが、データベースファクトリー/データベース非依存のアプリケーションを作成しようとしている場合はTConnectionを使用することも可能だ(注:[TSQLConnector](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlconnector.html)の使用がおそらくより適切である)。 このオブジェクトでは、ホスト名、ユーザー名、パスワードなどの接続関連の項目を指定する。 最後に、.Activeまたは.Connectedプロパティを使用して接続または切断できる。
26+
27+ほとんどのデータベースは、同じプログラムやユーザーからの複数の同時接続を許可している。
28+
29+### TSQLTransaction
30+
31+ドキュメンテーション: [TSQLTransaction](http://www.freepascal.org/docs-html/fcl/sqldb/tsqltransaction.html)
32+
33+このオブジェクトは、データベース上のトランザクションを表す。実際には、データを読み取るだけでも、少なくとも1つのトランザクションがアクティブである必要がある。 単一のトランザクションを使用する場合は、TConnection.Transactionプロパティをトランザクションに設定して、データベースのデフォルトのトランザクションを設定する。対応するTSQLTransaction.Databaseプロパティは、自動的に接続を指すようになる。
34+
35+TSQLTransactionを.Activeに設定する/.StartTransactionを呼び出すと、トランザクションが開始される。.Commitまたは.RollBackを呼び出すと、トランザクションがコミット(保存)されるか、ロールバック(忘却/中止)される。.AutocommitまたはCommitRetainingを使用しない限り、データベースのトランザクションをこれらで囲む必要がある。
36+
37+### TSQLQuery
38+
39+ドキュメンテーション: [TSQLQuery documentation](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlquery.html)
40+
41+詳細は [[Working With TSQLQuery/ja]] を参照されたい。
42+
43+[[TSQLQuery/ja|TSQLQuery/jaは]]、接続/トランザクションのペアからデータセットを取得するオブジェクトで、そのSQLプロパティを使用してデータベースからデータが取得される。
44+
45+したがって、これを使用する際には、少なくともトランザクション、接続、およびSQLのプロパティを指定する必要がある。 TSQLQueryは、データバウンドコントロールをデータベースに接続するチェーンの重要な部分である。前述のように、SQLプロパティは、データを取得するためにデータベースに対して実行されるSELECTクエリを決定する。 FPCは、ユーザー/プログラムが生成したデータの変更を処理するために使用すべき対応するSQL INSERT、UPDATE、およびDELETEステートメントを決定しようとする。 必要に応じて、プログラマはこれを微調整し、手動でInsertSQL、UpdateSQL、およびDeleteSQLプロパティを指定することができる。
46+
47+### DataSource
48+
49+[[TDataSource/ja|TDataSource/jaオブジェクトは]]、データバウンドコンポーネントがデータセット(TSQLQueryなど)内のどこにあるかを追跡する。プログラマは、これが機能するように対応するTSQLQueryオブジェクトを指定する必要がある。
50+
51+## DBGridといったデータバウンドコントロール
52+
53+= これらのコントロールは、DataSourceにリンクする必要があります。これらは、通常、DataSourceで表示するフィールドを示すプロパティを持っています。
54+
55+## Data modules
56+
57+[[Data module/ja|Data module/jaは]]、非視覚的コンポーネント(例:**T*Connection**, **TSQLTransaction**, **TSQLQuery**など)を保存するために使用できる。また、データモジュールを使用すると、フォーム間でコンポーネントを共有できる。 See [[SQLdb Tutorial4/ja]].
58+
59+---
60+*From the Free Pascal wiki, page "SQLdb Programming Reference/ja", as it stood on 2024-04-02 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).*

Back to history