数据库读写图片的问题,怪事一件。。。。

draculamx 2015-07-10 10:57:39
用的是ACCESS数据库,图片字段设置为 OLE 类型
控件用的是 ehgrid,通过 datasource 连接的一个 adotable,图片显示用的是 ehdbimage

先 edit,然后用 ehdbimage->loadfromfile 读入一张 jpg 图像,然后 post,没问题。

现在的问题是,在程序设计时,可以在ehgrid和ehdbimage中看见图像。但是很奇怪的是,程序运行时 ehdbimage 看不见图像,
ehgrid的图像字段显示“Bitmap image is not valid - Incorrect image format”

这是为什么啊,为什么设计阶段看得见图片,运行时就看不见呢?????
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
draculamx 2015-07-11
  • 打赏
  • 举报
回复
但如果在数据库中用同样的代码,插入BMP文件, ehlib的两个控件就显示正常了。。。。 难道这东西只能显示BMP文件???
draculamx 2015-07-11
  • 打赏
  • 举报
回复
引用 1 楼 songhtao 的回复:
图片字段设置为 OLE 类型,在插入图片时会插入一些字节。这个问题以前老帖子说过,搜一下吧。
在ACCESS中插入图片有两种操作,一种是直接在ACCESS中插入对象,然后选择一个图片文件,如果是采用这种方式,那么OLE字段中就会在图片内容前面自动添加一些字节,字节内容就是文件的路径 第二种方法是通过在BCB中操作数据库,使用 LoadFromFile 方法,把图片读进去,用这种方法,是不会产生多余的字节的。我用这种方法,然后把字段的内容保存成文件,用HEX观察,文件头没有路径字节,文件是一个标准的JPG文件,修改后缀名后,可以直接用看图软件打开,并且图像正常。 现在还是那个问题,ehlib中,不管是dbgrideh,还是dbimageeh,在程序设计阶段,控件中都能正常显示数据库中的图片,唯独在程序运行的时候,什么都不显示,dbgrideh中的图片字段显示的是“Bitmap image is not valid - Incorrect image format”。。。我就搞不懂了。。。 我用的是XE7 。。。。
我不懂电脑 2015-07-11
  • 打赏
  • 举报
回复
图片字段设置为 OLE 类型,在插入图片时会插入一些字节。这个问题以前老帖子说过,搜一下吧。

1,178

社区成员

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

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