数据库为Acess2000,已知数据库的BLOB数据类型字段保存的可能是文本,我如何用vc++将这个字段的内容还原成文本?谢谢,在线等

解决方案 »

  1.   

    用ClassWizard自动生成一个CRecordset 类,绑定到你要取的表,向导会自动该表的所有字段建立一个映射一样的成员变量的,然后就对这些你需要的字段进行处理,记得在读入到文件的过程,使用CFile::WriteHuge()方法,GlobalLock什么的。
      

  2.   

    //接1楼的贴
    CString strFileName="e:\\vccode\\数据库\\tyj.doc"; 
    CFile outFile(strFileName,CFile::modeCreate|CFile::modeWrite); 
    //modeCreate指示构造函数创建一个新文件 
    //下面这段把已经在内存中的BLOB字段数据内容写到生成的文件tyj.doc中 
    LPSTR buffer = (LPSTR)GlobalLock(m_pSet->m_Sphoto.m_hData);
    long i = strlen(buffer);
    outFile.WriteHuge(buffer,m_pSet->m_Sphoto.m_dwDataLength); 
    GlobalUnlock(m_pSet->m_Sphoto.m_hData); 
    outFile.Close();