Bde.DBTables.TBlobStream.Read
Delphi
function Read(Buffer: TBytes; Offset, Count: Longint): Longint; overload; override;
function Read(var Buffer; Count: Longint): Longint; overload; override;
C++
virtual int __fastcall Read(System::DynamicArray<System::Byte> Buffer, int Offset, int Count)/* overload */;
virtual int __fastcall Read(void *Buffer, int Count)/* overload */;
inline int __fastcall Read(System::DynamicArray<System::Byte> &Buffer, int Count){ return System::Classes::TStream::Read(Buffer, Count); }
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TBlobStream |
説明
フィールドのデータの現在位置から最大 Count バイトまでを読み取り、Buffer に格納します。
Read メソッドを呼び出すと、フィールド データのバイト数が不明な BLOB フィールドからデータを読み取ることができます。
Buffer パラメータは、Read のデータ格納先となるコンテナで、PChar 型(Delphi の場合)、char * 型(C++ の場合)、またはそれらと同等の型でなければなりません。Buffer には、フィールドから読み取られたデータを格納するために、少なくとも Count バイトを割り当てる必要があります。Read では、BLOB データの現在位置から最大 Count バイトまでを Buffer に転送したあと、実際に転送したバイト数だけ現在位置を進めます。Read は、実際に転送したバイト数を返します(このバイト数は、Count パラメータで要求されたバイト数より小さい場合もあります)。
Read では、フィールドの Transliterate プロパティを調べ、Transliterate が true の場合は、データセットで指定された文字セットから ANSI にデータを変換します。
BLOB ストリームの他のデータ読み取りメソッド(ReadBuffer、ReadComponent)ではすべて、Read を呼び出して実際の読み取りを行います。
メモ: TBlobStream インスタンスが bmWrite モードで作成された場合は、Read を呼び出さないでください。