Bde.DBTables.TBlobStream.Write
Delphi
function Write(const Buffer; Count: Longint): Longint; override;
C++
virtual System::LongInt __fastcall Write(const void *Buffer, System::LongInt Count)/* overload */;
inline System::LongInt __fastcall Write(const System::Sysutils::TBytes Buffer, System::LongInt Offset, System::LongInt Count){ return System::Classes::TStream::Write(Buffer, Offset, Count); }
inline System::LongInt __fastcall Write(const System::Sysutils::TBytes Buffer, System::LongInt Count){ return System::Classes::TStream::Write(Buffer, Count); }
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TBlobStream |
説明
Buffer から Count バイト分をフィールドの現在位置に書き込み、Count バイトだけ現在位置を移動します。
Write メソッドを呼び出すと、現在位置から Count バイトのデータを BLOB フィールドに書き込むことができます。BLOB データには必ずしも終端文字が含まれていないため、TBlobStream の Write メソッドでは、Count バイトのデータを常に全部書き込みます。したがって、Write メソッドは WriteBuffer メソッドと同等です。
Buffer パラメータは、Write のデータ転送元となるコンテナで、PChar 型(Delphi の場合)、char * 型(C++ の場合)、またはそれらと同等の型でなければなりません。Write では、Buffer の現在位置から最大 Count バイトまでを BLOB フィールドに転送したあと、実際に転送したバイト数だけ現在位置を進めます。Write は、実際に転送したバイト数を返します(このバイト数は、Count パラメータで要求されたバイト数より小さい場合もあります)。
Write では、フィールドの Transliterate プロパティを調べ、Transliterate が true の場合は、データを ANSI からデータセットの文字セットに変換します。
BLOB ストリームの他のデータ書き込みメソッド(WriteBuffer、WriteComponent)ではすべて、Write を呼び出して実際の書き込みを行います。
メモ: TBlobStream インスタンスが bmRead モードで作成された場合は、Write を呼び出さないでください。