pb在資料庫中訪問blob型別資料

2021-06-26 15:23:51 字數 1776 閱讀 7198

一、首先要寫好兩個函式,分別是檔案的讀取與寫入:

參考 pb中讀寫檔案的函式:

二、儲存檔案

li_value = getfileopenname("選擇檔案",ls_docname,ls_named)  

if li_value = 1 then  

if f_readfile(lb_fj,ls_docname)=1 then     

ll_picid=gf_getid('t_picture') //這是乙個得到新增id的函式   

//需要先插入這條資料的其他資訊   

insert into t_svt_picture ( pictureid,picname,detaillogid )    

values ( :ll_picid,:ls_named, :ld_detaillogid);  

if sqlca.sqlcode<0 then  

rollback;  

messagebox('系統提示','資料儲存失敗')  

return  

end if  

//再用updateblob更新blob欄位   

updateblob t_picture set picblob=:lb_fj where pictureid=:ll_picid;  

if sqlca.sqlcode<0 then  

rollback;  

messagebox('系統提示','儲存失敗')  

return  

else  

commit;  

end if    

end if  

end if  

三、開啟檔案

//用selectblob將blob型別資料賦值給blob變數 lb_fj   

selectblob picblob into :lb_fj from t_picture where pictureid=:ll_picid;  

if sqlca.sqlcode<>0 then  

messagebox('系統提示','資料讀取失敗')  

return  

end if  

//需要將檔案重新在磁碟裡儲存出來,需要在之前存資料庫是記錄檔名 dw_1.object.picname   

ls_docname='c:/worktemp'  

if not directoryexists(ls_docname) then createdirectory(ls_docname)  

ls_docname=ls_docname+dw_1.object.picname[row]  

if f_writefile(lb_fj,ls_docname)=1 then  

//呼叫api開啟檔案   

if shellexecutea(handle(parent),ls_null,ls_docname,ls_null,ls_null, 1) > 32 then  

return  

else   

messagebox('系統提示','系統開啟檔案出錯')  

return  

end if  

end if  

//api定義   

function long shellexecutea (ulong hwnd, string lpoperation, string lpfile,string lpparameters, string lpdirectory, long nshowcmd) library "shell32.dll"

資料庫中的blob是什麼型別?

blob binary large object 二進位製大物件,是乙個可以儲存二進位制檔案的容器。在計算機中,blob常常是資料庫中用來儲存二進位制檔案的字段型別。根據eric raymond的說法,處理blob的主要思想就是讓檔案處理器 如資料庫管理器 不去理會檔案是什麼,而是關心如何去處理它。...

sqllite 資料庫 blob型別 問題小結

今天在使用sqllite的過程中遇到乙個問題,資料庫中的乙個字段怎麼也顯示不出來,經排查後發現 原來是字段型別搞錯了,將blob型別設定成了text型別,用視覺化操作軟體直接修改後依然無法顯示,很費解。經過查詢資料後發現是因為sqllite資料庫在字段型別問題,sqllite 是弱型別的資料庫,sq...

blob資料型別 資料庫資料型別和基礎操作

資料庫是 按照資料結構來組織 儲存和管理資料的倉庫 是乙個長期儲存在計算機內的 有組織的 可共享的 統一管理的大量資料的集合。它並不是隨意儲存的,儲存資料是有規則的,要不查詢效率會很低,除了文字型別 整數型別還有像能儲存影象 聲音這樣二進位制資料的blob型別。資料庫型別 資料表字段型別 常見字段種...