图片显示为什么这么怪!!!

我快完了,我作的项目是用pb6.5显示员工信息中的图片,该表dry(SQL Server7.0)中存储图片的字段是dryzp(image),我在pb7.0加入显示都很好,而在6.5却怎么也加不进去,但是如何在7.0在某个记录加入了图片,就可以在6.5下显示和修改,怪!我都傻了,我觉得程序没什么错呀,请看下面代码,我是用ole控件显示bmp图片,请指教,如何有好的代码(Pb6.5),请发到:wonry@163.com,谢谢!!!!
1. 加入图片

blob lb_object
string ls_path,ls_filename

GetFileOpenName("select file to open",ls_path,ls_filename)
If ls_filename ="" Then return
If ole_1.insertfile(ls_path) = 0 Then
lb_object = ole_1.objectdata
End If

SQLCA.AutoCommit = True
UpdateBLOB abc set dryzp = :lb_object
WHERE dry_n= "1";
if SQLCA.SQLCode = -1 then
MessageBox("SQL error",SQLCA.SQLErrText,Information!)
rollback using sqlca;
return
end if
commit using sqlca;
sqlca.autocommit = FALSE

2.显示图片
LOB lb_pic
SELECTBLOB dryzp INTO :lb_pic
FROM abc
WHERE dry_n = "1";

if SQLCA.SQLCode = -1 then
MessageBox("SQL error",SQLCA.SQLErrText,Information!)
return
else
ole_2.objectdata = lb_pic
end if
[1079 byte] By [wonry-hehe] at [2007-12-13]
# 1
没看出什么问题。
再参看一下PB自带的例子里有关于图片的处理
ldy-罗大佑 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 2
我找不到这样的例子,大家帮帮我吧,我不知道怎么办了
wonry-hehe at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 3
这个也许对你有帮助
int fh

blob Emp_id_pic

fh = FileOpen("c:\emp_100.bmp", StreamMode!)

IF fh <> -1 THEN
FileRead(fh, emp_id_pic)
FileClose(fh)
UPDATEBLOB Employee SET emp_pic = :Emp_id_pic
WHERE Emp_num = 100
USING Emp_tran ;

END IF

IF Emptran.SQLNRows > 0 THEN
COMMIT USING Emp_tran ;

END IF
bency-小草 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 4
得到 ole中的数据好象用getdata吧
bency-小草 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 5
老大,不要把帮助的东西拿来,我可不是菜鸟,我试过了的,最好可以有代码, 不过还是谢谢各位,如果解决了,分会给的.
wonry-hehe at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 6
代码应该没错的,我在PB6.5也是这么用的,没出问题啊。

你在高度状态下看看,看执行到哪一步有问题?
swjtu95-老狼 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 7
打错了, 应该是“在调试状态下”
swjtu95-老狼 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 8
我试了,感觉UpdateBLOB语句没起作用,当不报错,不知道是否是数据库的设置,能够提供一个参考pbl代码,让我试试.
wonry-hehe at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 9
我试了一下,执行updateblob时死机了,不明白
# 10
UpdateBLOB abc set dryzp = :lb_object WHERE dry_n= "1";
你的主键是dry_n吗?where 是以主键做为条件
还要保证你where条件取得出记录才行。
swjtu95-老狼 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 11
我已经给你把例子发过去了!请查收!
hoyu-心茗 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 12
让这个问题随风去吧,我不想折腾了,以后升级到7.0拉倒,散分了
wonry-hehe at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 13
代码是这样的,是不是你的PB6.5有问题啦?
jackygan-一剑飘香 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...
# 14
我有pb6。5的图片控件显示图片的代码,可以显示大于32K的图片,
wg2000happy@163.net
wg2000happy-酋长 at 2007-10-27 > top of Msdn China Tech,PowerBuilder,基础类...