pb通过updateblob向mysql中插入blob类型

xue_danfeng 2013-04-23 09:20:02
初用mysql,为什么pb帮助文档里的这段代码不能实现呢?我的pb和mysql已经连接好,数据库和表都是建好的,为什么在Emp_num=100处没有出现emp_pic的值呢
int fhblob
Emp_id_picfh = FileOpen("c:ball.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
END IF
IF Emptran.SQLNRows > 0 THEN
COMMIT;
END IF
...全文
337 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2013-04-25
  • 打赏
  • 举报
回复
看一下updateblob执行以后的sqlca.sqlcode的返回值,以及sqlca.sqlerrtext里面的错误内容
PB菜鸟 2013-04-25
  • 打赏
  • 举报
回复
引用 7 楼 lzp_lrp 的回复:
看一下updateblob执行以后的sqlca.sqlcode的返回值,以及sqlca.sqlerrtext里面的错误内容
Emptran.SQLNRows 换成sqlca.sqlcode 试试。
WorldMobile 2013-04-24
  • 打赏
  • 举报
回复
打个比较小的图片试试 在updateblob前加一句 messagebox('', len(emp_id_pic)) 看一下变量的值,问题应该是在fileread或者fileopen上了
xue_danfeng 2013-04-24
  • 打赏
  • 举报
回复
引用 2 楼 DYFDWX 的回复:
int fhblob Emp_id_picfh = FileOpen("c:\ball.bmp", StreamMode!) //注意 IF fh <> -1 THEN FileReadEx(fh, emp_id_pic) FileClose(fh) UPDATEBLOB Employee SET……
谢谢啊,我用的pb版本没有filereadex函数。为什么我在pb中新建datawindow的时候,选择employee表的时候,只看的看emp_num字段,而表中blob类型的emp_pic字段看不见呢
xue_danfeng 2013-04-24
  • 打赏
  • 举报
回复
引用 1 楼 lzp_lrp 的回复:
int fhblob Emp_id_picfh = FileOpen("c:\ball.bmp", StreamMode!) //注意 IF fh <> -1 THEN FileReadEx(fh, emp_id_pic) FileClose(fh) UPDATEBLOB Employee SET……
谢谢啊,我用的pb版本没有filereadex函数。为什么我在pb中新建datawindow的时候,选择employee表的时候,只看的看emp_num字段,而表中的的emp_pic字段看不见呢
DYFDWX 2013-04-24
  • 打赏
  • 举报
回复
int fhblob Emp_id_picfh = FileOpen("c:\ball.bmp", StreamMode!) //注意 IF fh <> -1 THEN FileReadEx(fh, emp_id_pic) FileClose(fh) UPDATEBLOB Employee SET emp_pic = :Emp_id_pic WHERE Emp_num = 100 using Emptran;END IF IF Emptran.SQLNRows > 0 THEN COMMIT; esle rollback;END IF
WorldMobile 2013-04-24
  • 打赏
  • 举报
回复
int fhblob Emp_id_picfh = FileOpen("c:\ball.bmp", StreamMode!) //注意 IF fh <> -1 THEN FileReadEx(fh, emp_id_pic) FileClose(fh) UPDATEBLOB Employee SET emp_pic = :Emp_id_pic WHERE Emp_num = 100 END IF IF Emptran.SQLNRows > 0 THEN COMMIT; END IF
xue_danfeng 2013-04-24
  • 打赏
  • 举报
回复
引用 5 楼 lzp_lrp 的回复:
打个比较小的图片试试 在updateblob前加一句 messagebox('', len(emp_id_pic)) 看一下变量的值,问题应该是在fileread或者fileopen上了
引用 5 楼 lzp_lrp 的回复:
打个比较小的图片试试 在updateblob前加一句 messagebox('', len(emp_id_pic)) 看一下变量的值,问题应该是在fileread或者fileopen上了
我在窗口上加了个picture控件,在updateblob前加了setpicture(emp_id_pic),会在控件中显示图片,照你说的添加messagebox函数,对话框显示6968,updateblob前面应该没有问题吧。会不会是我的pb和mysql连接出现什么问题啊,不过其他类型的数据都能够插入,唯独这个blob类型插入显示不了。而且在新建datawindow的时候,在quickselect后选择employee表,只出现emp_num字段

754

社区成员

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

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