数据表中有一个类型为image的字段(photo),在数据库的查询分析器中可以查到它有值(不为null),但是在pb10.0中查出来的就是null,我的语句是selectblob photo into :lb_photo from table1 where id='1',其中lb_photo是blob类型的变量
奇怪的是,如果存入的这个photo只有几十K时,可以正常取出,现在它有1M多,就取不出来了,怎么办?
...全文
2313打赏收藏
selectblob怎么取出来的是空啊?
数据表中有一个类型为image的字段(photo),在数据库的查询分析器中可以查到它有值(不为null),但是在pb10.0中查出来的就是null,我的语句是selectblob photo into :lb_photo from table1 where id='1',其中lb_photo是blob类型的变量 奇怪的是,如果存入的这个photo只有几十K时,可以正常取出,现在它有1M多,就取不出来了,怎么办?
这样试试:
Blob lb_pic,lb_write
Long ll_length
Int li_c,li_i,li_fileNum,li_qs,li_len,li_mod
string ll_no
ll_no=get_no //编号
selectblob picture
into :lb_pic
from t_health
where no = :ll_no; //按编号查询得到blob
ll_length = Len(lb_pic)
IF ll_length<1 THEN RETURN
li_c = ll_length/32765
li_mod = Mod(ll_length,32765)
IF li_mod>0 THEN li_c++
ls_filename ='sss.jpg'//生成的图片文件
li_FileNum = FileOpen(ls_filename,StreamMode!,write!,lockWrite!,replace!)
FOR li_i=1 to li_c
li_qs = (li_i - 1) * 32765 + 1
IF li_i<li_c THEN
li_len = 32765
ELSE
li_len = li_mod
END IF
lb_write = blobmid(lb_pic,li_qs,li_len)
FileWrite(li_fileNum,lb_write)
NEXT
fileclose(li_filenum)