VC 使用ADO處理大字段BLOB

2021-10-11 03:00:59 字數 2844 閱讀 2723

// 修改blob

void cadodlg::

onbnclickedbutton2()

// 設定blob

delete

buf;

varblob.parray = psafearr;

>putcollect("photo", varblob);

//or

ado.m_precordset-

>

getfields()

->

getitem

("photo")-

>

(varblob)

; ado.m_precordset-

>

update()

; ado.

uninitadoconn()

;}

// 查詢blob

void cadodlg::

onbnclickedbutton1()

// 獲取blob

cfile file;

if(file.

open(_t

("e:/res.bmp"

), cfile::modecreate | cfile::modewrite)

)delete

buf;}

ado.

uninitadoconn()

;}

cado ado;

ado.

initadoconn()

;try

varblob.parray = psafearr;

ado.m_precordset-

>

getfields()

->

getitem

("編號")-

>value =

(_bstr_t)m_id;

ado.m_precordset-

>

getfields()

->

getitem

("姓名")-

>value =

(_bstr_t)m_name;

ado.m_precordset-

>

getfields()

->

getitem

("性別")-

>value =

(_bstr_t)m_***;

ado.m_precordset-

>

getfields()

->

getitem

("學歷")-

>value =

(_bstr_t)m_knowledge;

ado.m_precordset-

>

getfields()

->

getitem

("**")-

>

(varblob)

; ado.m_precordset-

>

update()

;}catch(.

..)messagebox

("操作成功.");

ado.

uninitadoconn()

;

cstring sql;

sql.

format

("select*from picture where 編號='%s'"

,m_id)

; cado ado;

ado.

initadoconn()

; ado.

openrecordset

(sql);

hbitmap m_hbitmap;

//讀取影象欄位的實際大小

long ldatasize = ado.m_precordset-

>

getfields()

->

getitem

("**")-

>actualsize;

char

*buffer;

//定義緩衝變數

if(ldatasize >0)

hdib = buffer + bmfheaderlen;

//將指標移至檔案頭後面

//讀取bmp檔案的影象資料,包括座標及顏色格式等資訊到bitmapinfoheader物件

bitmapinfoheader &bmiheader =

*(lpbitmapinfoheader)hdib;

//讀取bmp檔案的影象資料,包括座標及顏色格式等資訊到bitmapinfo物件

bitmapinfo &bminfo =

*(lpbitmapinfo)hdib ;

//根據bfoffbits屬性將指標移至檔案頭後

lpdibbits =

(buffer)+(

(bitmapfileheader *

)buffer)

->bfoffbits;

cclientdc dc

(this);

//生成乙個與當前視窗相關的cclientdc,用於管理輸出設定

//生成dibitmap資料

m_hbitmap =

createdibitmap

(dc.m_hdc,

&bmiheader,cbm_init,lpdibbits,

&bminfo,dib_rgb_colors);}

}}if(m_hbitmap !=

null

) ado.

uninitadoconn()

;

jdbc處理大字段

方法一,preparedstatement.setcharacterstream int parameterindex,reader reader,int length 但這麼做的弊端是不允許批量提交的。方法二,1 先用connection從資料庫得到乙個clob物件,public static c...

vc 使用ADO程式設計

ado實際上就是由一組automation物件構成的元件,因此可以象使用其它任何automation物件一樣使用ado。ado中最重要的物件有三個 connection command和recordset,它們分別表示連線物件 命令物件和記錄集物件。如果您熟悉使用mfc中的odbc類 cdataba...

VC下使用ADO操作

使用ado sql操作各類資料庫是當前的主流,本人結合自己學習和使用ado開發資料庫的親身經歷,給大家一起分享利用ado開發遇到的常見問題和解決方案。本人開發環境為vc6.0,作業系統windowsxp。運算元據庫,拿最簡單的access來說,不少人使用odbc,本人在學習之初也使用過odbc,但小...