Datasnap.Provider.TCustomProvider.GetRecords

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function GetRecords(Count: Integer; out RecsOut: Integer;
Options: Integer): OleVariant; overload;
function GetRecords(Count: Integer; out RecsOut: Integer; Options: Integer;
const CommandText: string; var Params,
OwnerData: OleVariant): OleVariant; overload;

C++

System::OleVariant __fastcall GetRecords(int Count, /* out */ int &RecsOut, int Options)/* overload */;
System::OleVariant __fastcall GetRecords(int Count, /* out */ int &RecsOut, int Options, const System::UnicodeString CommandText, System::OleVariant &Params, System::OleVariant &OwnerData)/* overload */;

プロパティ

種類 可視性 ソース ユニット
function public
Datasnap.Provider.pas
Datasnap.Provider.hpp
Datasnap.Provider TCustomProvider

説明

プロバイダの関連するデータを表すデータパケットを取り出します。

GetRecords メソッドを呼び出すと,指定した数のレコードを保持するデータパケットを取り出すことができます。GetRecords は,BeforeGetRecords イベントを生成し,データパケットをアセンブルしてから,AfterGetRecords イベントを生成します。

Count は,取り出すレコードの数を示します。Count が -1 の場合,すべてのレコードを取り出します。Count が 0 の場合,メタデータだけを取り出します。Count を 1 以上に設定すると,指定された数のレコードだけが取り出されます。

RecsOut は,実際にデータパケットにあるレコードの数を返します。

Options は,データ以外にデータパケットに追加する情報を示します。これは GetRecordOption 定数の組み合わせです。たとえば,次の値は,XML でコード化されたデータパケットとともにメタデータを要求します。



MetaDataOption + XMLOption



MetaDataOption || XMLOption



CommandText パラメータは,関連する問い合わせの SQL を置換するオプションの SQL 文,または関連するテーブルや関連するプロシージャを置換するテーブルまたはストアドプロシージャの名前を指定します。このパラメータは,Options プロパティが poAllowCommandText を含まない場合,またはプロバイダに Options プロパティがない場合には無視されます。

Params パラメータは,CommandText または関連する問い合わせやストアドプロシージャに適用するパラメータ値を指定します。プロバイダが TTable と関連する場合,Params は結果セットをフィルタするフィールド値を指定します。GetRecords を終了する際,Params はすべての出力パラメータを返します。

OwnerData は,クライアントデータセットの BeforeGetRecords イベントハンドラから渡されたカスタム情報を格納します。この情報は,プロバイダの BeforeGetRecords イベントハンドラに渡されて,プロバイダの AfterGetRecords イベントハンドラによって返されます。

レコードは,データパケットとしてバリアントに格納されて返されます。

メモ:  GetRecords は,OwnerData パラメータを含まない構文を使った場合でも,常に BeforeGetRecords イベントおよび AfterGetRecords イベントを生成します。その場合,BeforeGetRecords イベントハンドラ起動時の OwnerData の値は nil(Delphi)または NULL(C++)で,AfterGetRecords イベントハンドラ終了時に破棄されます。

ヒント:  プロバイダがステートレスアプリケーションサーバーの一部の場合,データパケットを作成する前に,プロバイダが目的のレコードに配置される保証はありません。BeforeGetRecords イベントハンドラを使用すると,GetRecords の呼び出しの前にカーソルを配置できます。

関連項目