delphi对oracle数据库进行图片存取的问题

hughy 2000-07-20 10:59:00
用一个blob字段存储位图
已经用了好几种方法
如:
对dbimage直接将图片paste上去
table1.fieldbyname('pic').assign(tgraphic对象)
(tgraphicfield(table1.fielbyname('pic'))).loadfromfile(filename)

但每次table1.post(之前已用table1.edit或insert)总是出错
ERROR: ORA-22990: LOB locators cannot span transactions
请各位大虾指点迷津
...全文
153 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hughy 2000-07-21
  • 打赏
  • 举报
回复
但现在问题不是存的问题,而是显示高彩图片不正常
应该也不是图片大小的问题,因为256色的大图片能正常显示
而16bit的小图片却不能正常显示
我用dbimage直接显示或用timage.picture.bitmap.loadfromstream(tblobstream)
都是这样。why???
码狂 2000-07-20
  • 打赏
  • 举报
回复
这个......
TBlobField、TBlobStream 这两个类轻松搞定。存段视频都没问题。
hughy 2000-07-20
  • 打赏
  • 举报
回复
但我又遇到新问题
用dbimage控件显示从数据库中读出来的图片
256色的显示正常,而16bit或24bit的就不正常
而且如果数据源是table,则显示出整张图,但颜色不正常
如果数据源是query,这只能显示出图的一小部分,但颜色正常
请问这是怎么回事?
如何解决
hughy 2000-07-20
  • 打赏
  • 举报
回复
这个问题我已经解决了
将负值和post放在一个事务中就可以了
这主要是与oracle对blob类型的处理方式有关

2,496

社区成员

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

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