CLongBinary类简化了数据库中较大二进位
数据对象的工作(譬如经常调用BLOB或“二进位大对象”)。例如,在SQL表中一个记录字段可能包含了代表图形的位图。CLongBinary对象存储了这种对象,并记录了它的大小。
通常现在更好的办法是使用CByteBinary来与DFX_Binary联系。仍旧可以使用CLongBinary,但是既然不再遇到16位CByteBinary所受到的大小限制,所以CByteBinary提供了Win32下更多的功能。该建议应用于Data Access对象编程,或开放数据库连接(ODBC)。为了使用CLongBinary对象,需要在记录集类中声明CLongBinary类型的字段
数据成员。该成员为记录集中被嵌入的成员,并且构造在记录集构造完成后。当CLongBinary对象构造完成后,记录字段交换(RFX)机制从数据资源中当前记录的字段中装入
数据对象,并当记录更新后将其存储到记录中。RFX需要二进位大对象的数据资源(如CLongBinary对象的m_hData
数据成员)并在m_hData数据中存储HGLOBAL的句柄。而且,RFX也在m_dwDataLength
数据成员中存储了
数据对象的实际大小。通过m_hData操作对象中的数据,利用了通常使用的相同的技术,操作存储在Windows HGLOBAL句柄中的数据。
当
记录集遭到销毁,嵌入的CLongBinary对象也遭到销毁,并且它的
析构函数释放了HGLOBAL的数据句柄。