一个保存图片的怪现象。

linjwa 2002-10-24 11:16:32
我将图片保存进数据库(SQL SERVER7.0/2000)

blob b_image,b_cur_image
string s_path,s_name
long i_fn,i_gf,i_rf
long l_fl,l_len_image
integer i,i_num
long l_id

i_gf=getfileopenname("",s_path,s_name)
l_fl=filelength(s_path)
i_fn=fileopen(s_path,streammode!)

IF l_fl > 32765 THEN
IF Mod(l_fl, 32765) = 0 THEN
i_num = l_fl/32765
ELSE
i_num = (l_fl/32765) + 1
END IF
ELSE
i_num = 1
END IF

FOR i = 1 to i_num
fileread(i_fn,b_cur_image)
b_image=b_image+b_cur_image
l_len_image=len(b_image)
NEXT

l_len_image=len(b_image)
setnull(b_image)
l_len_image=len(b_image)

insert into see(image) values(null);//插入一行空值,有个自动增加的id字段
select max(id) into :l_id from see;//取刚插入的记录
updateblob see set image=:b_image where id=:l_id;//将图片更新刚插入的记录
commit;

出现了一个怪问题:用“选择文件”的对话框选择一幅图片后就死机。原来是行的,不知为什么就不行了,原来是在本机的库上试的,现移到了网络上就不行了。
...全文
44 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
咖啡 2002-10-26
  • 打赏
  • 举报
回复
你可以跟踪一下你的全局事物对象
咖啡 2002-10-26
  • 打赏
  • 举报
回复
l_len_image=len(b_image)
setnull(b_image) //什么意思????
l_len_image=len(b_image)

insert into see(image) values(null);//插入一行空值,有个自动增加的id字段
select max(id) into :l_id from see;//取刚插入的记录
updateblob see set image=:b_image where id=:l_id;//将图片更新刚插入的记录
commit;
wangshanfa 2002-10-26
  • 打赏
  • 举报
回复
问题解决了没有?
wangshanfa 2002-10-26
  • 打赏
  • 举报
回复
问题不是出现在图片上,你应该在updateblob前加上 sqlca.autocommit = true在commit;前加上sqlca.autocommit = false
因为你用的是sql server 数据库
请结贴,给分,呵呵!

604

社区成员

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

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