我的意思是想实现提取指定的记录,即把指定ID号码的图片出数据库放到缓冲区
让指针指向我所要的记录.
把它过滤出来,可是Recordset指针总是指向第一条,不知道错误在哪里?
strID.Format("%ld",lPicID); //开始过滤数据.
         CString strFilter;
        strFilter="TXBH = " + strID;//FieldName是ID对应的字段名,
                      //strID是字符串类型的ID号
    pRecordset->Filter =(_variant_t)(_bstr_t)strFilter;//开始过滤
    pRecordset->Filter ="";                            //过滤完成
    
if((pRecordset->adoEOF)&&(pRecordset->BOF))//需要加一条出错控制语句.判断记录条数是否为0.
{
return NULL;
}
long lDataSize = pRecordset->GetFields()->GetItem("CSTX")->ActualSize;
if(lDataSize > 0)
{
_variant_t varBLOB;
varBLOB = pRecordset->GetFields()->GetItem("CSTX")->GetChunk(lDataSize);
if(varBLOB.vt == (VT_ARRAY | VT_UI1))
{
if(pBMPBuffer = new char[lDataSize+1]) ///重新分配必要的存储空间
{
char *pBuf = NULL;
SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
memcpy(pBMPBuffer,pBuf,lDataSize);///复制数据到缓冲区m_pBMPBuffer
SafeArrayUnaccessData (varBLOB.parray);
dwFileLen = lDataSize;
hPhotoBitmap = BufferToHBITMAP();       
return hPhotoBitmap;