请帮忙看一下以下代码为何出错....

yzqb 2002-03-09 03:35:33
/*以下的代码写在rowsfocuschanged 事件中,目的是要将图象从SQl Server 数据库中读出显示在DW_1的P_1中可是Retrieve()能读出并显示,当移动到下一行就报内存错误,Pb7.03,请帮忙解决或提供更好的方法*/

String ryid,f,t
blob b
integer li_f
Boolean flag=True
//FileDelete("c:\temp\pic.jpg")
dw_1.object.P_1.filename = ""
ryid=dw_1.getitemstring(dw_1.getrow(),"ryid")
SELECTBLOB pic INTO :b
FROM t_dwry WHERE ryid = :ryid;
if len(b) > 0 then
li_f = FileOpen(ryid+ ".jpg",StreamMode!,Write!,LockWrite!,Replace!)
FileWrite(li_f,b)
FileClose(li_f)
f=ryid+ ".jpg"
t="c:\temp\pic.jpg"
if CopyFileA(f,t,flag) then// CopyFileA 为声明的API函数
dw_1.object.P_1.filename = "c:\temp\pic.jpg"
end if
end if
...全文
44 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzqb 2002-03-10
  • 打赏
  • 举报
回复
dw_1.object.P_1.setpicture(b)这样的代码该怎样写?
yzqb 2002-03-10
  • 打赏
  • 举报
回复
数据库里保存的照片不仅仅是.JPG类型,我想原因在此,请问该如何处理?
yzqb 2002-03-09
  • 打赏
  • 举报
回复
请问如何直接显示?
rongrong 2002-03-09
  • 打赏
  • 举报
回复

DEBUG 看看代码走在哪时才出错的 。

另: 如果你那边接受,可以换个方法试试 。 从数据库中 SELECT 出来后,直接显示在 PICTURE 控件里. 这样可以少两步。


yzqb 2002-03-09
  • 打赏
  • 举报
回复
现在的问题是测试期间,图象文件只有10多K
liulee 2002-03-09
  • 打赏
  • 举报
回复
1.filewrite一次只能写32k,你要把blob分解开多次写。一旦写不成功,你的jpg就不对了。
2.设置标记,防止多次SelectBlob 检索;
neveramo 2002-03-09
  • 打赏
  • 举报
回复
关注.......
yzqb 2002-03-09
  • 打赏
  • 举报
回复
哎!

401

社区成员

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

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