要在SQL2000的一个表中加一个字段,这字段用来保存一幅图片,
这字段该用什么类型?
我用的是image,可是却无法给这个字段加数据?

解决方案 »

  1.   

    _RecordsetPtr pRs;
    ...
    CFile f;
    CFileException e;
    if(f.Open(szPhotoFile, CFile::modeRead | CFile::typeBinary, &e)) 
    {
    int nSize = f.GetLength();          
    BYTE * pBuffer = new BYTE [nSize];  
     
    if (f.Read(pBuffer, nSize) > 0 )    
    {
    BYTE *pBuf = pBuffer;     
    VARIANT varBLOB;
    SAFEARRAY *psa;
    SAFEARRAYBOUND rgsabound[1];

    if(pBuf)
    {    
    rgsabound[0].lLbound = 0;
    rgsabound[0].cElements = nSize;
    psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
    for (long i = 0; i < (long)nSize; i++)
    SafeArrayPutElement (psa, &i, pBuf++);
    varBLOB.vt = VT_ARRAY | VT_UI1;
    varBLOB.parray = psa;
    pRs->GetFields()->GetItem("Photo")->AppendChunk(varBLOB);
    }
    pRs->PutCollect(_variant_t("Empno"), _variant_t(m_CurEmployee.m_szCode));
    pRs->Update();

    delete [] pBuffer;     
    pBuf=0;                
    }
    f.Close();
    }pRs->Close();
    pRs = NULL;