存图片用:
void CPicView::OnButton2() 
{
static char BASED_CODE szFilter[] = "Bitmap Files (*.jpg)|*.jpg||";
         CFileDialog     fd(TRUE,NULL,NULL,0,szFilter,this);
if  (IDOK != fd.DoModal())
            return;    try
    {
        m_pSet->AddNew();
        CFile fileImage;
        CFileStatus fileStatus;
        fileImage.Open(fd.GetPathName(), CFile::modeRead);
        fileImage.GetStatus(fileStatus);
        m_pSet->m_id = "06";
        (m_pSet->m_pic).m_dwDataLength = fileStatus.m_size;
        HGLOBAL hGlobal= GlobalAlloc(GPTR,fileStatus.m_size);
        (m_pSet->m_pic).m_hData = GlobalLock(hGlobal);
        fileImage.ReadHuge((m_pSet->m_pic).m_hData,fileStatus.m_size);
        m_pSet->SetFieldDirty(&(m_pSet->m_pic));
        m_pSet->SetFieldNull(&(m_pSet->m_pic),FALSE);
        m_pSet->Update();
        GlobalUnlock(hGlobal);
        m_pSet->Close();        
    }
    catch(CException* pE)
    {
        pE->ReportError();
        pE->Delete();
        return;
    }
}
取图片用:
void CPicView::OnButton1() 
{
    if (m_pSet->IsBOF()) { // detects empty recordset
      return;
    }
    m_pSet->MoveFirst();   // fails if recordset is empty
    while (m_pSet->m_id!="06") {   
      m_pSet->MoveNext();
    }
   CFile    outFile("06.jpg",CFile::modeCreate|CFile::modeWrite);
   LPSTR    buffer = (LPSTR)GlobalLock((m_pSet->m_pic).m_hData);
   outFile.WriteHuge(buffer,(m_pSet->m_pic).m_dwDataLength);
   GlobalUnlock((m_pSet->m_pic).m_hData);
   outFile.Close();
}
为什么图片小于64k没问题,大于64k就截断了?高手帮忙