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

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

Blog @ Blog

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

常用鏈接

統計

積分與排名

BBS

Blog

Web

最新評論

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

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

1. VC把一個文件存入數據庫

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把數據庫中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);     
 }
 
轉自:http://dev.rdxx.com/VC/VCDB/2001-10/6/024749171.shtml

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

廣告信息(免費廣告聯系)

中文版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>
            亚洲视频一区在线| 午夜精品久久久久99热蜜桃导演| 久久久久久电影| 小黄鸭视频精品导航| 国产伦精品一区二区三区四区免费 | 欧美日本国产一区| 日韩视频在线免费| 亚洲精品四区| 国产精品热久久久久夜色精品三区 | 国产欧美在线播放| 久久久精品性| 牛牛国产精品| 亚洲专区免费| 久久黄金**| 日韩午夜黄色| 午夜在线视频一区二区区别| 在线观看欧美亚洲| 亚洲精品五月天| 国产一本一道久久香蕉| 欧美成人dvd在线视频| 欧美日韩aaaaa| 久久精品一区二区三区四区 | 在线视频欧美日韩| 国产酒店精品激情| 欧美韩日精品| 国产精品久久久久久av福利软件 | 午夜天堂精品久久久久| 久久久久国产一区二区三区四区| 亚洲另类视频| 香蕉成人久久| 一区二区激情| 久久色中文字幕| 亚洲欧美日韩爽爽影院| 久久亚洲春色中文字幕| 亚洲免费视频一区二区| 久久综合网hezyo| 欧美一区二区三区免费大片| 嫩模写真一区二区三区三州| 欧美一区二区三区在线视频| 欧美精品97| 久久一二三区| 国产精品福利网站| 亚洲清纯自拍| 有坂深雪在线一区| 亚洲欧美日韩成人| 在线一区二区三区四区| 免费看亚洲片| 免费观看久久久4p| 国产嫩草一区二区三区在线观看| 91久久精品美女| 亚洲第一福利视频| 久久se精品一区二区| 亚洲欧美日韩精品综合在线观看| 欧美激情一区二区三区高清视频 | 久久精品亚洲精品| 国产精品久久久久久久久搜平片| 亚洲国产一区在线| 亚洲国产成人av| 久久久久国产一区二区| 久久久91精品| 国产亚洲人成网站在线观看| 亚洲中午字幕| 香蕉成人啪国产精品视频综合网| 欧美视频国产精品| 日韩视频精品在线| 久久免费视频一区| 亚洲欧美99| 欧美一区二区免费视频| 欧美视频中文字幕在线| 一区二区日韩| 午夜精品美女久久久久av福利| 欧美日韩另类一区| 99国产成+人+综合+亚洲欧美| 一区二区三区www| 欧美三级午夜理伦三级中视频| 亚洲精品一区二区三区在线观看| 一本不卡影院| 国产精品久久久一区二区| 亚洲视频在线视频| 欧美一区二区在线免费播放| 国产日韩欧美高清| 久久久免费观看视频| 欧美国产精品| 亚洲社区在线观看| 国产欧美日韩视频一区二区| 欧美中文字幕视频| 欧美高清一区二区| 亚洲视频在线一区观看| 国产精品五月天| 久久久久欧美| 日韩视频精品在线| 久久精品国产在热久久| 又紧又大又爽精品一区二区| 欧美激情国产日韩| 在线视频日本亚洲性| 久久手机精品视频| 日韩小视频在线观看| 国产精品一二| 老司机久久99久久精品播放免费| 亚洲精品影院在线观看| 香蕉成人伊视频在线观看| 在线日韩日本国产亚洲| 欧美日韩免费在线| 久久国产精品久久久久久电车| 亚洲高清三级视频| 欧美一区二区观看视频| 亚洲精品美女在线观看播放| 国产精品久久久久一区| 久久久国产精品一区二区三区| 亚洲精品午夜精品| 久久一区二区三区国产精品 | 狠狠色狠狠色综合日日91app| 开心色5月久久精品| 一本色道精品久久一区二区三区 | 欧美在线影院在线视频| 在线欧美日韩精品| 国产精品视区| 欧美日韩成人综合| 久久躁日日躁aaaaxxxx| 亚洲天堂免费观看| 亚洲欧洲精品一区二区| 久久亚洲视频| 久久不射网站| 亚洲综合三区| 在线视频精品一区| 亚洲精品欧洲| 亚洲国产精品久久人人爱蜜臀| 国产欧美欧美| 国产精品成人久久久久| 欧美精品日韩一本| 久久久美女艺术照精彩视频福利播放 | 久久久久久久久久久久久久一区| 这里只有精品电影| 亚洲精品一区二区三区99| 极品少妇一区二区三区| 国产精品亚洲аv天堂网| 欧美天天视频| 欧美日韩天天操| 欧美日韩理论| 欧美日韩亚洲精品内裤| 欧美理论视频| 欧美三级日本三级少妇99| 欧美精品成人| 欧美日韩喷水| 国产精品video| 国产精品久久久999| 国产精品九九| 国产精品毛片| 国产欧美精品在线| 国产一区清纯| 一区二区亚洲| 亚洲国产精品第一区二区| 玉米视频成人免费看| 亚洲黄色在线| 艳女tv在线观看国产一区| 99国产精品视频免费观看| 在线亚洲免费| 欧美一级网站| 久久亚洲色图| 91久久精品日日躁夜夜躁欧美 | 久久精品成人欧美大片古装| 久久精品国产欧美激情| 老巨人导航500精品| 欧美不卡在线视频| 亚洲人成7777| 亚洲欧美一区二区精品久久久| 欧美主播一区二区三区| 久久这里有精品15一区二区三区| 欧美成人综合在线| 国产精品嫩草久久久久| 黄色日韩精品| 在线视频一区二区| 欧美专区在线播放| 欧美激情按摩| 亚洲天堂av电影| 久久一区二区三区四区五区| 欧美日韩精品久久久| 国产精品色一区二区三区| 影音先锋中文字幕一区二区| 夜夜爽夜夜爽精品视频| 欧美一区三区三区高中清蜜桃| 欧美国产第二页| 亚洲午夜免费视频| 久久伊人亚洲| 国产精品乱码一区二三区小蝌蚪| 在线看欧美日韩| 亚洲欧洲av一区二区三区久久| 欧美88av| 午夜精品久久久久影视| 欧美激情中文字幕乱码免费| 国产日韩欧美在线播放| 一区二区高清在线观看| 欧美xx视频| 亚洲欧美日本精品| 欧美日韩国产黄| 亚洲高清二区| 久久一区二区三区超碰国产精品| 一片黄亚洲嫩模| 欧美xx视频| 1000部国产精品成人观看|