Sign in Join
Wiki copytemporary

SQLdb Programming Reference/ja: what changed

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

OldNewLine
11## ドキュメンテーション
22
33公式ドキュメントを参照されたい [SQLDB documentation](http://www.freepascal.org/docs-html/fcl/sqldb/index.html)。
44
55この記事はSQLDbについて詳細を説明しようとしているが、公式のドキュメントがより権威的である。
66
77## クラス構造
88
99以下の図は、SQLdbに関連する主要なコンポーネントの階層と必要なリンクを示すことを試みている。これは完全ではなく、"適切な"図の構造を使用していないため、あまり深く読み込まないでいただきたい。実際に何が起こっているのかを理解するために、ソースコードを調べる必要がある部分を見つけるのに役立つことを望む。
1010
11-<figure>
12-<img src="Laz_SqlDB_components.png" title="Laz_SqlDB_components.png" />
13-<figcaption>Laz_SqlDB_components.png</figcaption>
14-</figure>
11+![](/wiki-images/1/17/Laz_SqlDB_components.png)
1512
1613#### 注意
1714
1815- TDatabaseからTTransactionへのリンクはTransactionsであり、これは多くのトランザクションが1つのデータベースに可能であることを示している。しかし、TSQLConnectionからTSQLTransactionへの新しいリンクがTransactionとして定義されており、1つのデータベースに対して1つのトランザクションしかない。これは実際には以前のリンクを隠していないが、新しいリンクのみが公開されており、親リンクを使用することはおそらく適切ではない。
1916- 継承されたリンクのうち、一部は新しい型に型変換する必要がある。SQLQuery.Transaction.Commitを呼び出すことはできない。CommitはTSQLTransactionでのみ定義されている。SQLTransaction.Commitまたは"(SQLQuery.Transaction as TSQLTransaction).Commit"を呼び出すこと。
2017
2118## インタラクション
2219
2320### TConnection
2421
2522[[TConnection|TConnectionはSQLデータベースへの]]接続を表す。日常的には、特定のデータベース用の派生クラス(例:Interbase/Firebirdの場合はTIBConnection)を使用するが、データベースファクトリー/データベース非依存のアプリケーションを作成しようとしている場合はTConnectionを使用することも可能だ(注:[TSQLConnector](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlconnector.html)の使用がおそらくより適切である)。 このオブジェクトでは、ホスト名、ユーザー名、パスワードなどの接続関連の項目を指定する。 最後に、.Activeまたは.Connectedプロパティを使用して接続または切断できる。
2623
2724ほとんどのデータベースは、同じプログラムやユーザーからの複数の同時接続を許可している。
2825
2926### TSQLTransaction
3027
3128ドキュメンテーション: [TSQLTransaction](http://www.freepascal.org/docs-html/fcl/sqldb/tsqltransaction.html)
3229
3330このオブジェクトは、データベース上のトランザクションを表す。実際には、データを読み取るだけでも、少なくとも1つのトランザクションがアクティブである必要がある。 単一のトランザクションを使用する場合は、TConnection.Transactionプロパティをトランザクションに設定して、データベースのデフォルトのトランザクションを設定する。対応するTSQLTransaction.Databaseプロパティは、自動的に接続を指すようになる。
3431
3532TSQLTransactionを.Activeに設定する/.StartTransactionを呼び出すと、トランザクションが開始される。.Commitまたは.RollBackを呼び出すと、トランザクションがコミット(保存)されるか、ロールバック(忘却/中止)される。.AutocommitまたはCommitRetainingを使用しない限り、データベースのトランザクションをこれらで囲む必要がある。
3633
3734### TSQLQuery
3835
3936ドキュメンテーション: [TSQLQuery documentation](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlquery.html)
4037
4138詳細は [[Working With TSQLQuery/ja]] を参照されたい。
4239
4340[[TSQLQuery/ja|TSQLQuery/jaは]]、接続/トランザクションのペアからデータセットを取得するオブジェクトで、そのSQLプロパティを使用してデータベースからデータが取得される。
4441
4542したがって、これを使用する際には、少なくともトランザクション、接続、およびSQLのプロパティを指定する必要がある。 TSQLQueryは、データバウンドコントロールをデータベースに接続するチェーンの重要な部分である。前述のように、SQLプロパティは、データを取得するためにデータベースに対して実行されるSELECTクエリを決定する。 FPCは、ユーザー/プログラムが生成したデータの変更を処理するために使用すべき対応するSQL INSERT、UPDATE、およびDELETEステートメントを決定しようとする。 必要に応じて、プログラマはこれを微調整し、手動でInsertSQL、UpdateSQL、およびDeleteSQLプロパティを指定することができる。
4643
4744### DataSource
4845
4946[[TDataSource/ja|TDataSource/jaオブジェクトは]]、データバウンドコンポーネントがデータセット(TSQLQueryなど)内のどこにあるかを追跡する。プログラマは、これが機能するように対応するTSQLQueryオブジェクトを指定する必要がある。
5047
5148## DBGridといったデータバウンドコントロール
5249
5350= これらのコントロールは、DataSourceにリンクする必要があります。これらは、通常、DataSourceで表示するフィールドを示すプロパティを持っています。
5451
5552## Data modules
5653
5754[[Data module/ja|Data module/jaは]]、非視覚的コンポーネント(例:**T*Connection**, **TSQLTransaction**, **TSQLQuery**など)を保存するために使用できる。また、データモジュールを使用すると、フォーム間でコンポーネントを共有できる。 See [[SQLdb Tutorial4/ja]].
5855
5956---
6057*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