保存图片时:
string ls_path,ls_name
long ret,loops,ll_filenum,flen,ll_readfile
blob lb_pic,b
int i,li_id
li_id=integer(trim(sle_1.text))
ret=getfileopenname("选择图片",ls_path,ls_name,"aaaa","图片文件(bmp),*.bmp,图片文件(jpg),*.jpg,图片文件(jpeg),*.jpeg")
if ret <> 1 then return
flen=filelength(ls_path)
messagebox("",flen)
p_1.picturename=ls_path
ll_filenum=fileopen(ls_path,streammode!,read!,lockread!)
if flen > 32765 then
if mod(flen,32765)= 0 then
loops=flen/32765
else
loops=flen/32765 + 1
end if
else
loops= 1
end if
lb_pic=blob("")
for i =1 to loops //这里便是循环
ll_readfile=fileread(ll_filenum,b)
lb_pic=lb_pic + b
next
fileclose(ll_filenum)
//ole_1.insertfile(ls_name)
updateblob u_sys_set_other set bmp_whole= :lb_pic where iid=1;
commit;
写入时:
//从数据库中取图片:
blob lb_pic
//messagebox("",integer(sle_1.text))
int li_id
//li_id=integer(sle_1.text)
selectblob bmp_whole into :lb_pic from u_sys_set_other where iid=1;
if sqlca.sqlcode <> - 1 then
if len(lb_pic)> 0 then
p_1.setpicture(lb_pic)
end if
else
messagebox("","")
p_1.picturename=""
end if