Datasnap.Provider.TCustomProvider.GetRecords
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 の呼び出しの前にカーソルを配置できます。