次の方法で共有


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)」を参照してください。

継承階層

CObject

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;

関連項目

CObject クラス
階層図
CRecordset クラス