青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版MSDN

Blog @ Blog

當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

常用鏈接

統(tǒng)計

積分與排名

BBS

Blog

Web

最新評論

關(guān)于用VC進行圖像數(shù)據(jù)(二進制大對象)存儲數(shù)據(jù)庫的一點心得

下面給出用VC,VB如何操作圖像文件存取數(shù)據(jù)庫的原碼,幫助一些還沒有掌握方法的朋友,也請這方面的高手多多指教。(均用ADO連接數(shù)據(jù)庫)

1. VC把一個文件存入數(shù)據(jù)庫

CFile imagefile;
  
if(0 == imagefile.Open("d:\\user\\bmp.bmp",CFile::modeRead))
     
return;
  _RecordsetPtr pRs 
= NULL;             
  _ConnectionPtr pConnection 
= NULL;
  _variant_t varChunk;
  HRESULT hr;
  BYTE
* pbuf;
  
long nLength = imagefile.GetLength();
  pbuf 
= new BYTE[nLength+2];
  
if(pbuf == NULL)
     
return;                             //allocate memory error;
  imagefile.Read(pbuf,nLength);          //read the file into memory

  BYTE 
*pBufEx;
  pBufEx 
= pbuf;
  
//build a SAFFERRAY
  SAFEARRAY* psa;
  SAFEARRAYBOUND rgsabound[
1];
  rgsabound[
0].lLbound = 0;
  rgsabound[
0].cElements = nLength;
  psa 
= SafeArrayCreate(VT_UI1, 1, rgsabound);

  
for (long i = 0; i < nLength; i++)
       SafeArrayPutElement (psa, 
&i, pBufEx++);
  VARIANT varBLOB;
  varBLOB.vt 
= VT_ARRAY | VT_UI1;
  varBLOB.parray 
= psa;

  _bstr_t strCnn(
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CUSTOM;Data Source=SERVER");    
    
try
    
{
        
//Open a connection
        pConnection.CreateInstance(__uuidof(Connection));
        hr 
= pConnection->Open(strCnn,"","",NULL);   //Connect a DataBase
        pRs.CreateInstance(__uuidof(Recordset));
        pRs
->Open("CustomInfo",_variant_t((IDispatch *) pConnection,true),adOpenKeyset,adLockOptimistic,adCmdTable);  //Open a Table
 
//      pRs->AddNew();        
        pRs->Fields->GetItem("Image")->AppendChunk(varBLOB);        
        pRs
->Update();
        pRs
->Close();
        pConnection
->Close();
 }

    
catch(_com_error &e)
    
{
        
// Notify the user of errors if any.

        _bstr_t bstrSource(e.Source());
        _bstr_t bstrDescription(e.Description());
        CString sError;
        sError.Format(
"Source : %s \n Description : %s\n",(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
        AfxMessageBox(sError);     
 }


 2. VC把數(shù)據(jù)庫中IMAGE字段取出存為文件
    _RecordsetPtr pRs = NULL;
    _ConnectionPtr pConnection 
= NULL;
    _variant_t varChunk;
    HRESULT hr;
    VARIANT varBLOB;
    _bstr_t strCnn(
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CUSTOM;Data Source=SERVER");    
    
try
    
{
        
//Open a connection
        pConnection.CreateInstance(__uuidof(Connection));
        hr 
= pConnection->Open(strCnn,"","",NULL);        
        pRs.CreateInstance(__uuidof(Recordset));
        pRs
->Open("CustomInfo",_variant_t((IDispatch *) pConnection,true),adOpenKeyset,adLockOptimistic,adCmdTable);
       
//read  data  
       long lDataLength = pRs->Fields->GetItem("Image")->ActualSize;
       varBLOB 
= pRs->GetFields()->GetItem("Image")->GetChunk(lDataLength);
      
if(varBLOB.vt == (VT_ARRAY | VT_UI1))        
     
{
            BYTE 
*pBuf = NULL;   
            pBuf 
= (BYTE*)GlobalAlloc(GMEM_FIXED,lDataLength);
            SafeArrayAccessData(varBLOB.parray,(
void **)pBuf); 
            
//Build a File in Windows Temp Directory
            char tmpPath[_MAX_PATH+1];
            GetTempPath(_MAX_PATH,tmpPath);
            CString strFileName 
= "temp.bmp";
            strFileName 
= tmpPath+strFileName;
                                      
            CFile outFile(strFileName,CFile::modeCreate
|CFile::modeWrite);

            LPSTR buffer 
= (LPSTR)GlobalLock((HGLOBAL)pBuf);
            outFile.WriteHuge(buffer,lDataLength);
            GlobalUnlock((HGLOBAL)pBuf);
            outFile.Close();           
            SafeArrayUnaccessData (varBLOB.parray);
       }


        pRs
->Close();
        pConnection
->Close();
     }

    
catch(_com_error &e)
    
{
        
// Notify the user of errors if any.
        _bstr_t bstrSource(e.Source());
        _bstr_t bstrDescription(e.Description());
        CString sError;
        sError.Format(
"Source : %s \n Description : %s\n",(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
        AfxMessageBox(sError);     
 }
 
轉(zhuǎn)自:http://dev.rdxx.com/VC/VCDB/2001-10/6/024749171.shtml

posted on 2008-06-13 09:21 isabc 閱讀(699) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫

廣告信息(免費廣告聯(lián)系)

中文版MSDN:
歡迎體驗

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品在线看| 日韩午夜黄色| 国内精品久久久久影院优| 欧美三级视频在线| 亚洲一区二区三区在线观看视频| 欧美亚洲第一页| 你懂的国产精品永久在线| 欧美中文字幕在线播放| 欧美一区视频| 久久精品国产一区二区电影| 欧美一区二区成人| 久久久综合网站| 亚洲午夜极品| 午夜亚洲福利| 快射av在线播放一区| 欧美插天视频在线播放| 欧美日韩免费在线观看| 国产精品美女主播在线观看纯欲| 欧美三级在线播放| 激情综合色综合久久综合| 亚洲人成网在线播放| 亚洲五月六月| 久久久精品国产一区二区三区| 美女诱惑一区| 一区二区三区成人精品| 欧美在线一二三区| 欧美香蕉视频| 日韩一级视频免费观看在线| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 中文日韩在线| 久久亚洲一区二区| 亚洲一区在线免费观看| 欧美精品午夜| 伊人久久婷婷| 久久夜色精品国产噜噜av| 亚洲视频精选| 在线视频亚洲| 久久婷婷丁香| 欧美中文字幕久久| 韩国女主播一区| 久久久久久综合网天天| 亚洲一区免费视频| 国产欧美日韩精品丝袜高跟鞋 | 亚洲欧美日韩国产| 国产精品久久久久久久久久三级 | 麻豆亚洲精品| 国产一区二区三区在线观看视频 | 亚洲精品视频二区| 欧美三日本三级少妇三99| 久久人人97超碰国产公开结果| 一道本一区二区| 国产精品一区二区在线| 久久9热精品视频| 99爱精品视频| 欧美一区在线视频| 午夜视频在线观看一区二区三区| 欧美制服丝袜| 欧美成人四级电影| 亚洲欧美日本日韩| 国产精品美腿一区在线看| 欧美韩日一区二区三区| 亚洲黄色精品| 欧美日韩国产另类不卡| 国产日产欧产精品推荐色 | 亚洲视屏一区| 亚洲大胆在线| 欧美影院精品一区| 亚洲人在线视频| 亚洲视频久久| 欧美mv日韩mv国产网站app| 在线电影国产精品| 亚洲黄色有码视频| 国外成人性视频| 亚洲视频免费在线| 99国产精品久久久久老师| 久久精品国产一区二区三区| 香蕉av777xxx色综合一区| 欧美精品入口| 亚洲欧洲在线看| 国产精品影院在线观看| 在线视频欧美日韩| 亚洲午夜精品一区二区| 在线观看一区视频| 久久久久久久波多野高潮日日| 欧美亚洲一区二区在线| 欧美色一级片| 性8sex亚洲区入口| 久久先锋资源| 亚洲六月丁香色婷婷综合久久| 欧美成人精品高清在线播放| 欧美福利电影网| 亚洲在线视频网站| 国产精品xxxxx| 午夜一区不卡| 亚洲激精日韩激精欧美精品| 在线视频欧美一区| 国产精品每日更新| 久久精彩视频| 亚洲欧洲精品一区二区| 久久成人在线| 亚洲视频在线观看网站| 国产亚洲激情视频在线| 欧美日韩999| 老司机一区二区三区| 一本色道久久综合狠狠躁篇怎么玩 | 蜜桃精品一区二区三区| 亚洲乱码精品一二三四区日韩在线 | 一区二区三区精品视频| 国产亚洲一区二区精品| 欧美激情日韩| 欧美伦理一区二区| 久久亚洲一区二区| 免费视频最近日韩| 欧美成人官网二区| 久久久久九九九九| 亚洲一区二区在线免费观看| 亚洲日本久久| 一本色道久久99精品综合| 最新精品在线| 日韩一级在线观看| 亚洲福利小视频| 91久久黄色| 亚洲精品国偷自产在线99热| 亚洲网站在线播放| 亚洲精品1区| 亚洲视频碰碰| 亚洲婷婷在线| 国产精品视频久久久| 亚洲国产欧美不卡在线观看 | 亚洲视频一二三| 亚洲三级影院| 毛片av中文字幕一区二区| 亚洲欧美日韩在线观看a三区| 亚洲亚洲精品三区日韩精品在线视频| 亚洲欧洲日产国码二区| 亚洲美女在线看| 国产在线观看精品一区二区三区| av不卡在线| 午夜精品久久久久久久99水蜜桃| aa级大片欧美三级| 国内精品模特av私拍在线观看 | 亚洲国产你懂的| 在线免费高清一区二区三区| 欧美日韩国产一区二区| 欧美二区在线观看| 国产精品私拍pans大尺度在线| 91久久国产综合久久| 性18欧美另类| 美女91精品| 亚洲一区网站| 一区二区欧美国产| 久久国产毛片| 日韩一区二区精品葵司在线| 亚洲精品久久久蜜桃| 亚洲人成人99网站| 久久riav二区三区| 韩国精品在线观看| 欧美福利一区| 欧美伊人久久久久久久久影院| 欧美日韩在线观看一区二区三区| 狠狠综合久久av一区二区小说 | 欧美在线观看视频在线| 欧美本精品男人aⅴ天堂| 亚洲国产精品免费| 美国成人直播| 狠狠久久亚洲欧美| 久久久亚洲综合| 欧美亚洲一区在线| 欧美亚洲成人免费| 欧美在线观看www| 久久精品动漫| 亚洲免费视频在线观看| 亚洲图色在线| 国产美女精品一区二区三区| 欧美呦呦网站| 久久精品水蜜桃av综合天堂| 国产亚洲一本大道中文在线| 亚洲欧美日韩精品| 久久久久国产精品厨房| 亚洲国产日韩一级| 国产午夜精品视频| 久久久久成人精品| 麻豆精品视频| 欧美一区免费视频| 欧美视频一区二区三区在线观看| 亚洲综合电影| 噜噜噜久久亚洲精品国产品小说| 亚洲少妇最新在线视频| 久久成人免费网| 亚洲国内精品在线| 亚洲视频1区2区| 亚洲一区二区三区影院| 久久综合色婷婷| 亚洲一区二区三区四区中文| 国产精品人人做人人爽| 欧美搞黄网站| 在线看片第一页欧美| 免费短视频成人日韩| 久久看片网站| 国内精品视频在线播放|