如果有大侠愿意提供帮助可以加我QQ:39440599PS 如果这里不允许发布QQ请版主将此回复删除 但请不要删掉我的问题或者封我ID啊 拜托~~~

解决方案 »

  1.   

    我是用AppenChunk函数写入BLOB(binary large object)的m_pRecordset->GetFields()->GetItem("mol")->AppendChunk(varBLOB);可是我在数据表里却发现没有数据怎么回事?
      

  2.   

    你后半部的写入肯定没有问题,是教科书的源码,是你的数据库连接和打开的问题,给你个我的程序,是把一个图以2进制文件入数据库,已经应用的程序。是手敲的,别粘着用!
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT ×FROM  EmpInfo WHERE EmpId =" + cEmpId;
    //执行SELETE语句
    RecordsetPtr m_pRs;
    mpRs = m_AdoConn.GetRecordSet(vSQL); VARIANT varBLOB;
    SAFEARRAY *psa;  //定义数组
        SAFEARRAYBOUND rgsabound[1]; rgsabound[0].lLbound = 0;
    rgsabound[0].cElements = m_filelen;
    psa = SafeArrayCreate(VT_UI1, 1, rgsabound);  //创建数组
    for (long i = 0; i < (long)mfilelen; i++)  //将m_pBuffer中的图像数据写入数组psa
    SafeArrayPutElement (psa, &i, m_pBuffer++);
    varBLOB.vt = VT_ARRAY | VT_UI1;
    varBLOB.parray = psa;
    //调用AppendChunk()函数将图像数据写入Photo字段
    m_pRs->GetFields()->GetItem("Photo")->AppendChunk(varBLOB);
    //更新数据库
    m_pRs->Update();
    //断开与数据库的连接
    m_AdoConn.ExitConnect();