我使用CRecordset从我的 SQL Server 获取数据。一个表存储一个二进制文件(pdf、odt、...)。我的 VisualStudio 将列映射到CLongBinary字段。
如何从 CLongBinary 字段读取和打开文件?
我正在使用一些古老的 MFC 4.2 版本,VisualStudio 6.0
我使用CRecordset从我的 SQL Server 获取数据。一个表存储一个二进制文件(pdf、odt、...)。我的 VisualStudio 将列映射到CLongBinary字段。
如何从 CLongBinary 字段读取和打开文件?
我正在使用一些古老的 MFC 4.2 版本,VisualStudio 6.0
做这样的事情。这只会给你一个想法。我没有测试过代码。
CLongBinary myfield ;
... retrive myfield from database here
BYTE *dataptr = (BYTE*)GlobalLock(myfield.m_hData) ;
// now dataptr points to your raw data, and myfield.m_dwDataLength is the length of that data
CString tempname = ... create temporary filename somewhere
CFile myfile ;
myfile.Open(tempfilename, CFile::modeCreate|CFile::modeWrite);
myfile.Write(dataptr, myfield.m_dwDataLength) ,
myfile.Close() ;
GlobalUnlock(myfield.m_hData) ;
ShellExecute(NULL, _T("open"), tempfilename, NULL, NULL, SW_SHOW) ;