//执行SELETE语句
_RecordsetPtr m_pRs;
m_pRs = m_AdoConn.GetRecordSet(vSQL);
_RecordsetPtr m_pRs;
m_pRs = m_AdoConn.GetRecordSet(vSQL);
VARIANT varBLOB;
SAFEARRAY *psa; //定义数组
SAFEARRAYBOUND rgsabound[1];
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)m_filelen; 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();
rgsabound[0].cElements = m_filelen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound); //创建数组
for (long i = 0; i < (long)m_filelen; 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();