SQLdb Programming Reference/ja
│
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
参照: チュートリアル/練習となる記事: 各種データベース |
ドキュメンテーション
公式ドキュメントを参照されたい SQLDB documentation。
この記事はSQLDbについて詳細を説明しようとしているが、公式のドキュメントがより権威的である。
クラス構造
以下の図は、SQLdbに関連する主要なコンポーネントの階層と必要なリンクを示すことを試みている。これは完全ではなく、"適切な"図の構造を使用していないため、あまり深く読み込まないでいただきたい。実際に何が起こっているのかを理解するために、ソースコードを調べる必要がある部分を見つけるのに役立つことを望む。
注意
- TDatabaseからTTransactionへのリンクはTransactionsであり、これは多くのトランザクションが1つのデータベースに可能であることを示している。しかし、TSQLConnectionからTSQLTransactionへの新しいリンクがTransactionとして定義されており、1つのデータベースに対して1つのトランザクションしかない。これは実際には以前のリンクを隠していないが、新しいリンクのみが公開されており、親リンクを使用することはおそらく適切ではない。
- 継承されたリンクのうち、一部は新しい型に型変換する必要がある。SQLQuery.Transaction.Commitを呼び出すことはできない。CommitはTSQLTransactionでのみ定義されている。SQLTransaction.Commitまたは"(SQLQuery.Transaction as TSQLTransaction).Commit"を呼び出すこと。
インタラクション
TConnection
TConnectionはSQLデータベースへの接続を表す。日常的には、特定のデータベース用の派生クラス(例:Interbase/Firebirdの場合はTIBConnection)を使用するが、データベースファクトリー/データベース非依存のアプリケーションを作成しようとしている場合はTConnectionを使用することも可能だ(注:TSQLConnectorの使用がおそらくより適切である)。 このオブジェクトでは、ホスト名、ユーザー名、パスワードなどの接続関連の項目を指定する。 最後に、.Activeまたは.Connectedプロパティを使用して接続または切断できる。
ほとんどのデータベースは、同じプログラムやユーザーからの複数の同時接続を許可している。
TSQLTransaction
ドキュメンテーション: TSQLTransaction
このオブジェクトは、データベース上のトランザクションを表す。実際には、データを読み取るだけでも、少なくとも1つのトランザクションがアクティブである必要がある。 単一のトランザクションを使用する場合は、TConnection.Transactionプロパティをトランザクションに設定して、データベースのデフォルトのトランザクションを設定する。対応するTSQLTransaction.Databaseプロパティは、自動的に接続を指すようになる。
TSQLTransactionを.Activeに設定する/.StartTransactionを呼び出すと、トランザクションが開始される。.Commitまたは.RollBackを呼び出すと、トランザクションがコミット(保存)されるか、ロールバック(忘却/中止)される。.AutocommitまたはCommitRetainingを使用しない限り、データベースのトランザクションをこれらで囲む必要がある。
TSQLQuery
ドキュメンテーション: TSQLQuery documentation
詳細は Working With TSQLQuery/ja を参照されたい。
TSQLQuery/jaは、接続/トランザクションのペアからデータセットを取得するオブジェクトで、そのSQLプロパティを使用してデータベースからデータが取得される。
したがって、これを使用する際には、少なくともトランザクション、接続、およびSQLのプロパティを指定する必要がある。 TSQLQueryは、データバウンドコントロールをデータベースに接続するチェーンの重要な部分である。前述のように、SQLプロパティは、データを取得するためにデータベースに対して実行されるSELECTクエリを決定する。 FPCは、ユーザー/プログラムが生成したデータの変更を処理するために使用すべき対応するSQL INSERT、UPDATE、およびDELETEステートメントを決定しようとする。 必要に応じて、プログラマはこれを微調整し、手動でInsertSQL、UpdateSQL、およびDeleteSQLプロパティを指定することができる。
DataSource
TDataSource/jaオブジェクトは、データバウンドコンポーネントがデータセット(TSQLQueryなど)内のどこにあるかを追跡する。プログラマは、これが機能するように対応するTSQLQueryオブジェクトを指定する必要がある。
DBGridといったデータバウンドコントロール=
これらのコントロールは、DataSourceにリンクする必要があります。これらは、通常、DataSourceで表示するフィールドを示すプロパティを持っています。
Data modules
Data module/jaは、非視覚的コンポーネント(例:T*Connection, TSQLTransaction, TSQLQueryなど)を保存するために使用できる。また、データモジュールを使用すると、フォーム間でコンポーネントを共有できる。 See SQLdb Tutorial4/ja.