直接是肯定不行的
因为picturebox的数据并非是图片的二进制数据
间接的话,你必须清楚了解picturebox的数据构成
然后用RS对象的取二进制方法取得图片的二进制数据
再转换为PICTUREBOX兼容格式的数据
假如完全使用API的话,速度不会太慢

解决方案 »

  1.   

    在c++中,可以参考一下代码
    1、取得图片字段的内存句柄
    2、锁定内存,获得内存指针
    3、找到内存指针指向区域中的第一个BM标记
    4、取得BMP文件的头信息,得到文件的字节数
    5、写文件
    BOOL CC100ToCJKDlg::WriteImg(CRecordset &rs, LPCSTR sFieldByName, LPCSTR sDirByName)
    {
    CDBVariant dbv1;
    dbv1.Clear();
    rs.GetFieldValue (sFieldByName,dbv1,DEFAULT_FIELD_TYPE );
    char * pBmpBuff=(char *)GlobalLock(dbv1.m_pbinary->m_hData);
    GlobalUnlock(dbv1.m_pbinary->m_hData);
    if (dbv1.m_pbinary->m_dwDataLength > sizeof(tagBITMAPFILEHEADER))
     {
     UINT i;
     for ( i=0;i < dbv1.m_pbinary->m_dwDataLength;i++)
     {
     if ((pBmpBuff[i]=='B') &&(pBmpBuff[i+1]=='M'))
     break;
     }
     pBmpBuff +=i;
    tagBITMAPFILEHEADER tHead;
    memcpy(&tHead,pBmpBuff,sizeof(tagBITMAPFILEHEADER));
    CFile ff;
    char szBuff[MAX_PATH];
    memset(szBuff,0,MAX_PATH);
    sprintf(szBuff,"%s\\%05d\\.",sDirByName,atol((LPCSTR)m_superno)/1000+1);
      if (_access(szBuff,00) !=0)
    {
    sprintf(szBuff,"%s\\%05d",sDirByName,atol((LPCSTR)m_superno)/1000+1);
        _mkdir(szBuff);
    }  sprintf(szBuff,"%s\\%05d\\%s.bmp",sDirByName,atol((const char *)m_superno)/1000+1,(const char *)m_superno);
     ff.Open(szBuff,CFile::modeCreate and CFile::modeWrite);
     ff.Write(pBmpBuff,tHead.bfSize);
     ff.Flush();
     ff.Close(); 
     
     return TRUE;
     }
    else
    {

    return FALSE;
    }
    }
      

  2.   

    我以前在Visual Foxpro中用的方法.可以试一下在vb里用.
    储存:
    1.开一个备注型的字段.
    2.把图片用文件函数直接打开,把全部文件读进字段.读取:
    1.建一个空的临时文件
    2.把备注型字段的数据全部写进去
    3.直接把临时的文件赋予图片框.在vb可以建一个imagelist,在运行时直接用代码把图片加进imagelist,再赋予图片框.
      

  3.   

    MSDN的Knowledge Base中有几篇E文介绍这方面的文章!
    如果你的E文足够应付的话!
    论文号是:
     Q147727,Q103115,Q1532238
    看过也许有启发!
      

  4.   

    好象是 DAO 的函数吧!
    getchunk
    setchunk
      

  5.   

    AppendChunk 方法 (ADO)
    将数据追加到大型文本、二进制数据 Field 或 Parameter 对象。GetChunk 方法 (ADO)
    返回大型文本或二进制数据 Field 对象的全部或部分内容。