CLongBinary クラス
データベース上の大きなバイナリ データ オブジェクト (BLOB または "バイナリ ラージ オブジェクト" と呼びます) を使った作業を単純にします。
構文
class CLongBinary : public CObject
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CLongBinary::CLongBinary | CLongBinary オブジェクトを構築します。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CLongBinary::m_dwDataLength | ハンドルが m_hData に格納されているデータ オブジェクトの実際のサイズをバイト単位で格納します。 |
CLongBinary::m_hData | 実際のイメージ オブジェクトに対する Windows HGLOBAL ハンドルが含まれています。 |
解説
たとえば、SQL テーブルのレコード フィールドには、図を表すビットマップが含まれている場合があります。 CLongBinary
オブジェクトは、このようなオブジェクトを格納し、そのサイズを追跡します。
Note
一般に、DFX_Binary関数と組み合わせて CByteArray を使用することをお勧めします。 CLongBinary
は引き続き使用できますが、一般に、CByteArray
では、16 ビット CByteArray
で発生するサイズの制限がなくなったため、Win32 ではより多くの機能が提供されます。 このアドバイスは、Data Access オブジェクト (DAO) および Open Database Connectivity (ODBC) を使用したプログラミングに適用されます。
CLongBinary
オブジェクトを使用するには、レコードセット クラスでCLongBinary
型のフィールド データ メンバーを宣言します。 このメンバーは、レコードセット クラスの埋め込みメンバーになり、レコードセットが構築されるときに構築されます。 CLongBinary
オブジェクトが構築されると、レコード フィールド交換 (RFX) メカニズムは、データ ソースの現在のレコードのフィールドからデータ オブジェクトを読み込み、レコードが更新されたときにレコードに格納します。 RFX は、データ ソースに対してバイナリ ラージ オブジェクトのサイズを照会し、( CLongBinary
オブジェクトの m_hData
データ メンバーを介して) ストレージを割り当て、データへの HGLOBAL
ハンドルを m_hData
に格納します。 RFX では、データ オブジェクトの実際のサイズも m_dwDataLength
データ メンバーに格納されます。 通常、Windows HGLOBAL
ハンドルに格納されているデータの操作に使用するのと同じ手法を使用して、m_hData
を使用してオブジェクト内のデータを操作します。
レコードセットを破棄すると、埋め込まれた CLongBinary
オブジェクトも破棄され、そのデストラクターによって HGLOBAL
データ ハンドルの割り当てが解除されます。
ラージ オブジェクトと CLongBinary
の使用方法の詳細については、「 Recordset (ODBC) 」および「 Recordset: 大きなデータ項目の操作 (ODBC)」を参照してください。
継承階層
CLongBinary
要件
Header: afxdb_.h
CLongBinary::CLongBinary
CLongBinary
オブジェクトを構築します。
CLongBinary();
CLongBinary::m_dwDataLength
HGLOBAL ハンドルに格納されているデータの実際のサイズをバイト単位で格納 m_hData
。
SQLULEN m_dwDataLength;
解説
このサイズは、データに割り当てられたメモリ ブロックのサイズよりも小さい場合があります。 Win32 GLobalSize 関数を呼び出して、割り当てられたサイズを取得します。
CLongBinary::m_hData
Windows HGLOBAL ハンドルを実際のバイナリ ラージ オブジェクト データに格納します。
HGLOBAL m_hData;