Data.SqlExpr.TSQLBlobStream
Delphi
TSQLBlobStream = class(TMemoryStream)
C++
class PASCALIMPLEMENTATION TSQLBlobStream : public System::Classes::TMemoryStream
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | Data.SqlExpr |
説明
TSQLBlobStream を使用すると、クライアント データセット内の BLOB フィールドに対して、アプリケーションから読み書きを行うことができます。
TSQLBlobStream を使用すると、dbExpress データセット(TSQLLDataSet、TSQLTable、TSQLQuery、または TSQLStoredProc)内の BLOB(バイナリ ラージ オブジェクト)フィールドの値を読み取ることができます。BLOB フィールドは、TBlobField オブジェクトか、TGraphicField や TMemoField といった TBlobField の下位オブジェクトです。クライアント データセット内の BLOB フィールドでは、データ アクセス用のプロパティやメソッドの多くを実装するのに、クライアント BLOB ストリームを使っています。
TSQLBlobStream を使用すると、BLOB フィールド内にデータがどのように格納されているかについて特別の知識を持たないオブジェクトでも、統一されたストリーム インターフェイスによってデータを読み取ることができます。
SQL BLOB ストリームを使うには、TSQLBlobStream のインスタンスを作成し、ストリームのメソッドを使ってデータを読み取り、それから BLOB ストリームを開放します。複数のレコードのデータにアクセスするために TSQLBlobStream の同じインスタンスを使い回す場合、対象となるレコードが変わったときには ReadBlobData メソッドを呼び出してストリームを更新しなければなりません。
警告: TSQLBlobStream は TMemoryStream から書き込みメソッドをいくつか継承していますが、データセットにデータを書き戻すために使うことはできません。dbExpress データセットは読み取り専用だからです。TSQLBlobStream に書き込んでも、BLOB フィールドのデータを持つインメモリ バッファが変更されるだけです。