Datasnap.Provider.TBaseProvider
Delphi
TBaseProvider = class(TCustomProvider)
C++
class PASCALIMPLEMENTATION TBaseProvider : public TCustomProvider
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | Datasnap.Provider |
説明
TBaseProvider は,データセット内のデータを表す,すべてのプロバイダの基本クラスです。
TBaseProvider は,任意のデータセットからデータを提供し,そのデータセット,または直接 SQL サーバーに更新情報をフィードバックする TDataSetProvider の直接の上位オブジェクトです。TBaseProvider を使用すると,SQL を使用せずに更新情報をデータベースに直接適用するプロバイダなどのカスタマイズされたデータプロバイダオブジェクトを派生させることができます。
TBaseProvider クラスは,直接の上位オブジェクト(TCustomProvider)とは異なり,抽象メソッド(Delphi)または純粋仮想メソッド(C++)を持ちません。ただし,アプリケーションからは TBaseProvider のインスタンスを作成しないでください。このメソッドの多くは,固有の機能を持った下位オブジェクトがプロバイダメソッドをすべて実装しなくて済むようにするための最小限の共通コードにすぎないからです。プロバイダコンポーネントをフォームまたはデータモジュールに追加するには,TDataSetProvider (または TXMLTransformProvider) を使用します。
TBaseProvider から派生したプロバイダは,TClientDataSet または TXMLBroker オブジェクトとソースデータセットとの間の中間リンクとなります。ソースデータセットは,クライアントデータセットまたは XML ブローカと同じアプリケーション内にあっても,別のアプリケーションサーバーの一部であってもかまいません。プロバイダは,ソースデータセットまたは XML ドキュメントのデータをパッケージ化し,1 つ以上のトランスポート可能なデータパケットでクライアントデータセットまたは XML ブローカに渡します。 クライアントデータセットは,データパケットのデータを再構成して,ユーザーアクセスのためのメモリ内コピーをローカルに作成します。ユーザーアクセスが完了すると,クライアントデータセットは変更されたデータを再パッケージ化し,更新内容をプロバイダに送り返します。プロバイダは更新情報をデータベースまたはソースデータセットに適用します。
プロバイダがクライアントデータセットにデータを供給すると,クライアントデータセットはデータパケットのデータを再構成してユーザーアクセス用のローカルメモリ内コピーを作成します。ユーザーアクセスが完了すると,クライアントデータセットは変更されたデータを再パッケージ化し,更新内容をプロバイダに送り返します。プロバイダは更新情報をデータベースまたはソースデータセットに適用します。
プロバイダが XML ブローカにデータを供給すると,XML ブローカはそのデータパケットを Web クライアントによってダウンロードされる HTML ドキュメントに XML 形式で追加します。XML ブローカが Web クライアントから更新情報を受け取ると,XML ブローカは更新情報をプロバイダに送る。プロバイダはその情報をデータベースまたはソースデータセットに適用します。
クライアントデータセットおよび XML ブローカは,IAppServer インターフェースを通じてプロバイダと通信します。多層アプリケーションでは,これはプロバイダを格納するリモートデータモジュールのインターフェースです。プロバイダに呼び出しを渡せるようにリモートデータモジュールを有効にするには,プロバイダの Exported プロパティを true に設定し,Owner プロパティでリモートデータモジュールを指定しなければなりません。