Data.DB.TDataSet.CreateBlobStream
Delphi
function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; virtual;
C++
virtual System::Classes::TStream* __fastcall CreateBlobStream(TField* Field, TBlobStreamMode Mode);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
データセット内の BLOB(Binary Large Object)に対する blob ストリームを作成するメソッドに対するインターフェイスを提供します。
CreateBlobStream を呼び出すと、Field パラメータで指定されたフィールドの値を読み書きする、ストリームを取得することができます。Mode パラメータは、ストリームが、フィールドのあたいの読み込みに使用されるのか(bmRead)、フィールドの値の書き込みに使用されるのか(bmWrite)、または、フィールドの値の変更に使用されるのか(bmReadWrite)を示します。
Blob ストリームは、指定されたレコードの指定されたフィールドに対して、指定されたモードで作成されます。 アプリケーションは、データセット内のレコードが変更されるたびに、新しい blob ストリームを作成します。既存の blob ストリームを再利用してはいけません。
TDataSet での実装のように、CreateBlobStream は、常に nil (Delphi) または NULL (C++) を返します。 TDataSet の子孫でこのメソッドをオーバーライドして、TStream の子孫を作成し、そこで、データセット型が BLOB フィールドを格納するために使用する形式で、BLOB データを読み書きすることができます。
ヒント: コードで直接 blob ストリームを作成するより、CreateBlobStream を呼び出す方が推奨されます。これにより、ストリームがそのデータセットに適していることが保証され、また、BLOB データをメモリに常に格納するわけではないデータセットは、ストリームを作成する前に blob データをフェッチすることも保証されます。