|
DelphiXE3 [FMX]データベース関連のコンポーネント(2) 2013/10/22 |
前頁の続き、データベース関連のコンポーネントをざっと確認だけします。
【Delphi2010の記事はこちら】
【DelphiXE3[VCLアプリケーション]の記事はこちら】
[dbExpress]内
VCL | |
FMX | |
(ヘルプより)
SQLConnection |
TSQLConnection は、データベース サーバーへの dbExpress 接続をカプセル化したものです。
TSQLConnection を使用すると、dbExpress データベース接続を表現することができます。 単一の TSQLConnection コンポーネントから提供される接続を、複数の SQL データセット コンポーネントで、それぞれの TSQLConnection プロパティを通じて共有することができます。
TSQLConnection は、dbExpress ドライバおよび 2 つのファイルとやり取りします。 まず、dbxdrivers.ini(Windows の場合)または dbxdrivers(Linux の場合)には、インストールされているドライバのタイプ(Interbase、Oracle など)が一覧されており、それぞれのドライバごとに、必要なライブラリ(DLL や共有オブジェクト)とすべての接続パラメータのデフォルト設定が一覧されています。 第 2 のファイル dbxconnections.ini(Windows の場合)または dbxconnections(Linux の場合)には、接続構成の名前付きセットが一覧されています。 各構成は TSQLConnection の一連の設定を表し、個々のデータベース接続を記述しています。
TSQLConnection を使用すると、dbxconnections.ini に記載されている名前付き構成の中から 1 つを選択し、それを用いてデータベースに接続したり新しい構成を定義することができます。 ConnectionName プロパティを使用すると、既に作成されている接続を選択できます。 接続の追加や管理を行うには、RAD Studio IDE に組み込まれている [データ エクスプローラ](表示データ エクスプローラ)を使用します。
データベース接続の記述と確立に加え、TSQLConnection では、サーバー ログインの制御、トランザクションの管理、サーバーからのメタデータの取得に用いるプロパティ、メソッド、イベントも公開しています。 |
| |
(ヘルプより)
SQLDataSet |
TSQLDataSet は、dbExpress を使って取得されたデータを表します。
TSQLDataSet は、dbExpress を使ってデータベース情報にアクセスするための、汎用の単方向データセットです。 TSQLDataSet コンポーネントは、設計時にフォームやデータ モジュールに追加することも、実行時に動的に作成することもできます。
TSQLDataSet は次のことに使用できます:
・データベース テーブル内のレコードや、SELECT クエリの結果セットや、ストアド プロシージャから返される結果セットを表す。
・結果セットを返さないクエリやストアド プロシージャを実行する。
・データベース サーバー上の何が利用可能か(テーブル、ストアド プロシージャ、テーブル内のフィールドなど)を示すメタデータを表す。
TSQLDataSet は単方向データセットです。 他のデータセットと異なり、単方向データセットは複数のレコードをメモリ内にバッファリングすることはしません。 そのため、ナビゲーションに使えるのは First メソッドと Next メソッドだけです。 編集のサポートは組み込まれていないため、SQL データセット内のデータを編集するには、明示的に SQL UPDATE コマンドを作成するか、プロバイダを使ってデータセットをクライアント データセットに接続するしかありません。 フィルタやルックアップ フィールドなど、複数のレコードをバッファリングしなければならない機能は提供されていません。
TSQLDataSet コンポーネントを使うには、まずデータベース サーバーに接続する必要があります。 そのため、TSQLDataSet を扱う最初のステップとして、SQLConnection プロパティを設定します。
データセットをサーバーに接続した後、データセットを使ってクエリを実行する場合には、コマンド テキスト エディタを使って CommandText プロパティを設定することができます。 ストアド プロシージャを実行したり 1 つのデータベース テーブルを表す場合には、CommandType プロパティを設定し、その後 CommandText プロパティのドロップダウン リストからテーブルやストアド プロシージャの名前を選択します。 SQL データセットを使ってメタデータにアクセスしたい場合には、SetSchemaInfo メソッドを呼び出して実行時に希望のメタデータを指定しなければなりません。
DefaultRowsetSize は 20 です(DefaultRowsetSize = 20)。 既存の Oracle データベース接続で別の RowSetSize を使用するには、dbxconnections.ini(Windows)または dbxconnections.conf(Linux)に、手動で RowSetSize プロパティを追加します(RowSetSize = 200 など)。 新しい接続に RowSetSize プロパティを持たせるには、dbxdrivers.ini(Windows)または dbxdrivers.conf(Linux)に、手動で RowSetSize プロパティを追加します。 RowsetSize は、コードで変更することもできます(SQLConnection1.Params.Values['RowsetSize'] := '200' など)。現在のところ、この機能をサポートしているのは Oracle データベースのみです。 |
| |
(ヘルプより)
SQLQuery |
TSQLQuery は、dbExpress を使って実行されるクエリを表します。
TSQLQuery を使用すると、TSQLConnection 経由でアクセスするデータベース サーバー上で SQL コマンドを実行することができます。TSQLQuery は、SELECT 文の結果を表したり、INSERT、DELETE、UPDATE、ALTER TABLE などの文を使ってデータベース サーバー上でアクションを実行することができます。TSQLQuery コンポーネントは、設計時にフォームやデータ モジュールに追加することも、実行時に動的に作成することもできます。
TSQLQuery は単方向データセットです。他のデータセットと異なり、単方向データセットは複数のレコードをメモリ内にバッファリングすることはしません。そのため、ナビゲーションに使えるのは First メソッドと Next メソッドだけです。編集のサポートは組み込まれていないため、SQL クエリ内のデータを編集するには、明示的に SQL UPDATE コマンドを作成するか、プロバイダを使ってデータセットをクライアント データセットに接続するしかありません。フィルタやルックアップ フィールドなど、複数のレコードをバッファリングしなければならない機能は提供されていません。
TSQLQuery コンポーネントを使うには、まずデータベース サーバーに接続する必要があります。そのため、TSQLQuery を扱う最初のステップとして、SQLConnection プロパティを設定します。クエリをサーバーに接続したら、SQL プロパティを使ってクエリで実行するコマンドを指定してください。 |
| |
(ヘルプより)
SQLStoredProc |
TSQLStoredProc は、dbExpress を使用して実行されるストアドプロシージャを表します。
TSQLStoredProc を使用すると、TSQLConnection 経由でアクセスするデータベース サーバー上でストアドプロシージャを実行できます。 TSQLStoredProc は、ストアドプロシージャがカーソルを返す場合に結果セットを表すことができます。 TSQLStoredProc コンポーネントは、設計時にフォームやデータ モジュールへの追加や、実行時に動的に作成することが可能です。
TSQLStoredProc は単方向データセットです。他のデータセットと異なり、単方向データセットは複数のレコードをメモリ内にバッファリングしません。 そのため、ナビゲーションに使用できるのは First および Next メソッドだけです。 編集サポートが組み込まれていないため、SQL ストアドプロシージャ内のデータを編集するには明示的に SQL UPDATE コマンドを作成するか、プロバイダを使用してデータセットをクライアント データセットに接続するしかありません。 フィルタやルックアップ フィールドなど、複数のレコードのバッファリングが必要な機能は提供されていません。
TSQLStoredProc コンポーネントを使用するには、まずデータベース サーバーに接続する必要があります。 そのため、TSQLStoredProc を扱う最初のステップとして、SQLConnection プロパティを設定します。 データセットをサーバーに接続したら、StoredProcName プロパティを使用して実行するストアドプロシージャを指定してください。
ParamCheck の値を False に変更すると、SQL サーバーおよび Sybase のストアドプロシージャの結果のコードを読み込むことができます。 この場合、パラメータのリストを有効利用して、ストアドプロシージャのシグニチャとパラメータを一致させる必要があります。 結果コードのパラメータはリストの最初の値として設定され、また、ptResult 型である必要があります。 |
| |
(ヘルプより)
SQLTable |
TSQLTable は、dbExpress を使ってアクセスされるデータベース テーブルを表します。
TSQLTable を使用すると、TSQLConnection 経由でアクセスするデータベース サーバー上のテーブルを表すことができます。TSQLTable は、指定したテーブル内のすべての行および列を取得するクエリを生成します。TSQLTable コンポーネントは、設計時にフォームやデータ モジュールに追加することも、実行時に動的に作成することもできます。
TSQLTable は単方向データセットです。他のデータセットと異なり、単方向データセットは複数のレコードをメモリ内にバッファリングすることはしません。そのため、ナビゲーションに使えるのは First メソッドと Next メソッドだけです。編集のサポートは組み込まれていないため、SQL テーブル内のデータを編集するには、明示的に SQL UPDATE コマンドを作成するか、プロバイダを使ってテーブルをクライアント データセットに接続するしかありません。フィルタやルックアップ フィールドなど、複数のレコードをバッファリングしなければならない機能は提供されていません。
TSQLTable コンポーネントを使うには、まずデータベース サーバーに接続する必要があります。そのため、TSQLTable を扱う最初のステップとして、SQLConnection プロパティを設定します。データセットをサーバーに接続したら、TableName プロパティを使ってこのコンポーネントが表すテーブルを指定します。 |
(ヘルプより)
SqlServerMethod |
DataSnap サーバー メソッドの呼び出しに使用される TDataSet です。
TSqlServerMethod は、DataSnap サーバー メソッドを呼び出して結果を取得するために使用される TDataSet です。 |
| |
(ヘルプより)
SimpleDataSet |
TSimpleDataSet は、dbExpress を使用してデータを取得し、メモリに内部的にキャッシュします。
TSimpleDataSet は、内部の TSQLDataSet と TDataSetProvider を使用して、データの取得や更新の適用を行うクライアント データセットです。このクラスは、単方向データセットの高速アクセスおよび配置の容易性と、クライアント データセットのデータ編集機能およびデータナビゲーション機能を兼ね備えています。
TSimpleDataSet は dbExpress を使用してデータベース情報に高速にアクセスします。クライアント データセットとして、TSimpleDataSet は、その情報をメモリ内にキャッシュしたり、アプリケーションで行われた更新を保存します。内部のデータセット プロバイダを利用して、TSimpleDataSet はこれらの更新をデータベース サーバーに適用します。このように、TSimpleDataSet は、プロバイダ経由でローカルの TSQLDataSet に接続している場合は(ただし、ソース データセットとプロバイダが内部にある場合は除く)、TClientDataSet のような働きをします。
TSimpleDataSet では、データを取得するデータベース サーバーを指定したり、そのサーバーから取得するデータを指定したり、データ パケットに含める情報を変更したり、更新プロセスに対して入力を提供できるようにするために、TSQLDataSet のプロパティとイベントをいくつか公開しています。
ソースの TSQLDataSet を使用するだけでなく、TSimpleDataSet ではディスク上の専用ファイルへの読み書きもできます。ファイルベースのデータを扱う場合は、内部のプロバイダとソース データセットは必要ありません。純粋にファイルベースのアプリケーションを記述する場合は、TClientDataSet を選択した方が適しています。ただし、ディスク上のファイルを扱える機能があるため、TSimpleDataSet はブリーフケース モデル アプリケーションに非常に適しています。 |
[BDE]内
VCL | |
FMX | |
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/22
2013/10/22
▼2013/10/23
シェアウェア
Script!World
データベース
|