为何用以下语句提取数据库中的图片文件有些文件可以提取有些就无法显示呢》

wanghan226 2004-11-26 07:18:09
sqlca.AutoCommit = true //注意这句很重要
connect using sqlca;
ls_picturename=string(dw_picturename.getitemstring(dw_picturename.getrow(),"name"))
blob lbb_pic
selectblob p
INTO :lbb_pic
FROM image
where name=:ls_picturename
USING SQLCA;

IF sqlca.sqlcode <> 0 THEN
messagebox("error", "error")
ELSE
p_1.setpicture( lbb_pic )
END IF

sqlca.AutoCommit = false
是不是在读取文件时也不能超过32767的限制啊,如果是该如何解决呢?
...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eugenezhang 2004-11-30
  • 打赏
  • 举报
回复
大于32K的大字段SQL可以取出 但你最好是以32K大小循环写入一个文件 再将图片控件指定该文件
fhw= FileOpen(filename, StreamMode!, Write!, LockWrite!, append!)
piclen=len(pic)
len=1
do while len<piclen
tpic=BlobMid(pic, len, 32765)
filewrite(fhw,tpic)
len=len + 32765
loop
fileclose(fhw)
dw_1.modify("p_1.filename='"+filename+"'")
tongyi226 2004-11-30
  • 打赏
  • 举报
回复
那你看我的代码哪里有问题,帮忙指点一下。
myiscsq 2004-11-27
  • 打赏
  • 举报
回复
是你存数据时没有完全存到,用以下的几个函数可以解决问题.不明白就给我邮件吧

Blob()
Blob()功能将字符串转换成Blob类型数据。
语法Blob ( text )
参数text: string类型,指定要转换的数据返回值Blob。函数执行成功时返回转换后的Blob类型数据;如果text参数的值为NULL,则Blob()函数返回NULL。
--------------------------------------------------------------------------------

BlobEdit()
功能将任意类型的数据插入到Blob类型变量的指定位置。
语法BlobEdit ( blobvariable, n, data )
参数blobvariable:Blob类型的已初始化变量,将向该变量中插入数据n:指定插入位置,有效值在1到4,294,967,295之间data:要插入到Blob类型变量中的数据,其数据类型可以是任何有效的PowerBuilder数据类型返回值Unsigned long。函数执行成功时返回下次可以插入数据的位置;如果blobvariable变量中空间不够或任何参数的值为NULL,则BlobEdit()函数返回NULL。
--------------------------------------------------------------------------------

BlobMid()
功能从Blob变量中提取出一段数据。提取之后,原Blob变量内容不变。
语法BlobMid ( data, n {, length } )
参数data:Blob类型的数据n:指定要提取数据的起始位置,有效值在1到4,294,967,295之间length:可选项,指定要提取数据的长度,以字节为单位,有效值在1到4,294,967,295之间。缺省时提取从指定位置n到末尾的所有数据返回值Blob。函数执行成功时返回指定字节数的数据。如果n的值大于data的字节数,函数返回空。如果n与length的和超过了data数据的字节数,那么BlobMid()函数返回剩下的数据,数据长度将小于参数length的值。如果任何参数的值为NULL,则BlobMid()函数返回NULL
WorldMobile 2004-11-26
  • 打赏
  • 举报
回复
读取文件没有什么限制,还是你存的数据有问题,你再仔细查查

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧