API:Data.Bind.DBXScope.TSubSQLDataSet
Delphi
TSubSQLDataSet = class(TSQLDataSet)
C++
class PASCALIMPLEMENTATION TSubSQLDataSet : public Data::Sqlexpr::TSQLDataSet
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Data.Bind.DBXScope.pas Data.Bind.DBXScope.hpp |
Data.Bind.DBXScope | Data.Bind.DBXScope |
説明
TSQLDataSet は、dbExpress を使って取得されたデータを表します。
Data.Bind.DBXScope.TSubSQLDataSet は Data.SqlExpr.TSQLDataSet を継承しています。以下の内容はすべて Data.SqlExpr.TSQLDataSet を参照しています。
TSQLDataSet は、dbExpress を使って取得されたデータを表します。
TSQLDataSet は、dbExpress を使ってデータベース情報にアクセスするための、汎用の単方向データセットです。 TSQLDataSet コンポーネントは、設計時にフォームやデータ モジュールに追加することも、実行時に動的に作成することもできます。
TSQLDataSet は次のことに使用できます:
- データベース テーブル内のレコードや、SELECT クエリの結果セットや、ストアド プロシージャから返される結果セットを表す。
- 結果セットを返さないクエリやストアド プロシージャを実行する。
- データベース サーバー上の何が利用可能か(テーブル、ストアド プロシージャ、テーブル内のフィールドなど)を示すメタデータを表す。
TSQLDataSet は単方向データセットです。 他のデータセットと異なり、単方向データセットは複数のレコードをメモリ内にバッファリングすることはしません。 そのため、ナビゲーションに使えるのは First メソッドと Next メソッドだけです。 編集のサポートは組み込まれていないため、 SQL データセット内のデータを編集するには、明示的に SQL UPDATE コマンドを作成するか、プロバイダを使ってデータセットをクライアント データセットに接続するしかありません。 フィルタやルックアップ フィールドなど、複数のレコードをバッファリングしなければならない機能は提供されていません。
TSQLDataSet コンポーネントを使うには、まずデータベース サーバーに接続する必要があります。 そのため、TSQLDataSet を扱う最初のステップとして、SQLConnection プロパティを設定します。
データセットをサーバーに接続した後、データセットを使ってクエリを実行する場合には、コマンド Text エディタを使って 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 データベースのみです。