CLongBinary 类
简化对数据库中超大二进制数据对象(经常称作 BLOB,即“二进制大对象”)的使用。
语法
class CLongBinary : public CObject
成员
公共构造函数
名称 | 描述 |
---|---|
CLongBinary::CLongBinary | 构造 CLongBinary 对象。 |
公共数据成员
“属性” | 描述 |
---|---|
CLongBinary::m_dwDataLength | 包含其句柄存储在 m_hData 的数据对象的实际大小(以字节为单位)。 |
CLongBinary::m_hData | 包含实际图像对象的 Windows HGLOBAL 句柄。 |
备注
例如,SQL 表中的记录字段可能包含表示图片的位图。 对象 CLongBinary
存储此类对象并跟踪其大小。
注意
一般来说,现在最好将 CByteArray 与 DFX_Binary 函数结合使用。 仍然可以使用 CLongBinary
,但在 Win32 下 CByteArray
提供更多功能,因为不再遇到 16 位 CByteArray
的大小限制。 此建议适用于使用数据访问对象 (DAO) 以及开放式数据库连接 (ODBC) 进行编程。
若要使用 CLongBinary
对象,请在记录集类中声明类型 CLongBinary
的字段数据成员。 此成员将是记录集类的嵌入成员,并在构造记录集时构造。 构造 CLongBinary
对象后,记录字段交换 (RFX) 机制从数据源上当前记录中的字段加载数据对象,并在更新记录时将其存储回记录。 RFX 查询数据源的二进制大型对象的大小,(通过 CLongBinary
对象的 m_hData
数据成员)为其分配存储,并将 HGLOBAL
句柄存储到 m_hData
的数据中。 RFX 还会将数据对象的实际大小存储在 m_dwDataLength
数据成员中。 通过 m_hData
处理对象中的数据,方法与控制 Windows HGLOBAL
句柄中存储的数据通常所使用的方法一致。
销毁记录集时,嵌入的 CLongBinary
对象也会被销毁,并且其析构函数会解除分配 HGLOBAL
数据句柄。
有关大型对象和使用 CLongBinary
的详细信息,请参阅记录集 (ODBC) 和记录集:使用大型数据项 (ODBC) 等文章。
继承层次结构
CLongBinary
要求
标头: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;