pb存取图片的问题

LUCKY_W 2011-03-25 05:16:14
把图片存入数据库库sqlserver 2000 ,然后再读取出来 几十K的小文件没有问题,200多K的文件从数据库里读的时候PB就不动了。或者是显示不正常,只显示上面的一半.我估计是图片没有完全存到数据库里,不知是何原因,请各位指教。以下是源程序:
//----------------------------------------------------------------------------

//选择文件
integer value
value = GetFileOpenName("选择图片", &
pname, fname, "jpg", &
+ "JPEG Files (*.jpg),*.jpg," &
+ "位图 (*.bmp),*.BMP," &
+ "所有文件(*.*), *.*")
if value<>1 then return
//显示文件
p_1.PictureName=fname
SetPointer(HOURGLASS!)
SQLCA.AutoCommit=True
//-----------------------------------------------------
//测定文件长度
SQLCA.AutoCommit=True
long ll_len
ll_len=FileLength(pname)
//打开文件
integer fileno
fileno=FileOpen(pname,StreamMode!, Read!,shared!)
//读文件,文件每次只能读入32.765KB
blob lb_file,lb_fn //测定长二进制类型变量
int li_ii,ii
li_ii = ceiling(ll_len/32765) //计算要读多少次文件
for ii=1 to li_ii
FileRead(fileno,lb_fn)
lb_file=lb_file + lb_fn //循环读入
next
//文件存入数据库
updateblob teacher set id_pic = :lb_file where no=12;//no 为pk定位一条数据而已
if SQLCA.SQLNRows > 0 then
Messagebox("成功","信息已存储,请返回")
else
Messagebox("失败","信息存储失败,请返回 错误信息:"+sqlca.SQLErrText)
end if
fileclose(fileno)
SQLCA.AutoCommit = False
//------------------------------------------------------------------------------------------------



//--------------------------
//从数据库中读取图片显示
//读图片
sqlca.autocommit = true
blob lb_pic
selectblob id_pic into :lb_pic from teacher where no=12;//对应数据库里no=12的那条记录
//显示图片
p_2.setpicture(lb_pic)
sqlca.autocommit = False
//-----------------------------------------------------------














...全文
266 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayacosa 2011-03-25
  • 打赏
  • 举报
回复
需要一起发布
LUCKY_W 2011-03-25
  • 打赏
  • 举报
回复
楼上高人。还问一句,如果程序发布的话,也没有问题吗,需不需要将pbodb110.ini一起发布

mayacosa 2011-03-25
  • 打赏
  • 举报
回复
C:\Program Files\Sybase\Shared\PowerBuilder\pbodb110.ini

[Microsoft SQL Server]
PBMaxBlobSize='0'
PBMaxTextSize='0'
LUCKY_W 2011-03-25
  • 打赏
  • 举报
回复
最好图片可以用WINDOWS自带的图片与传真查看器,或者其它的图片浏览软件查看可以放大缩小最好。有哪位高人知道的请指教。

604

社区成员

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

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