我用的是RecordSet类?如何存储和读取二进制数据?能不能给一段详细的程序,谢谢!

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3534/3534680.xml?temp=.5602838
      

  2.   

    看是什么数据库了
    我看你用 ole db就很容易操作
      

  3.   

    参考下面的代码,是读声音文件的
    long lDataSize = m_adoRecordSet.GetFields()->GetItem("声音")->ActualSize;
    if(lDataSize > 0)
    {
    _variant_t varBLOB;
    varBLOB = m_adoRecordSet.GetFields()->GetItem("声音")->GetChunk(lDataSize);
    if(varBLOB.vt == (VT_ARRAY | VT_UI1)) 
    {
    char *pBuf = NULL;
    SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
                    sndPlaySound(pBuf, SND_MEMORY | SND_SYNC | SND_NODEFAULT );
                    SafeArrayUnaccessData(varBLOB.parray);
    }
    }
      

  4.   

    楼上的,我从Access数据库里读取一个图像文件,用的是你提供的这种方法,把它存成文件后总是比原文件大些,从而导致图像文件打不开的情况。
      

  5.   

    ADO 把jpg图象文件放入ACCESS库中
    http://www.vckbase.com/document/viewdoc/?id=719可以参考一下。