我有一个通过数据源与 VB 项目链接的 Access 数据库。在其中一个表的数据库中,我有一个 OLE 对象字段。我在此字段中保存了.BMP 格式和.JPG 格式的图片。我遇到的问题是将这张图像加载到我的应用程序中。这就是我希望能够做到的:
ButtonMeal1.BackgroundImage = IPOSDBDataSet.Meals.Rows(0).Item(5)
其中 Item(5) 是存储图像的行的列。
还有另一种方法可以做到这一点吗?我是否必须通过将图片存储为变量来将图片加载到程序中,然后使用它来更改按钮的背景图像。关于我的问题,互联网上没有明确的答案。请帮忙!
编辑1:
经过更多研究后,我找到了一些代码并对其进行了调整以尝试解决我的问题。
Dim ImageByteArray As Byte() = CType(IPOSDBDataSet.Meals.Rows(0).Item(5), Byte())
Dim ImageMemoryStream As MemoryStream = New IO.MemoryStream(ImageByteArray)
Dim MyImage As Image = Drawing.Image.FromStream(ImageMemoryStream)
PictureBox1.Image = MyImage
但是,我在代码的第三行收到错误“参数无效”。有人能告诉我如何调整代码来解决这个问题,或者告诉我我是否做错了什么?
编辑2:
我不断更改代码,但错误始终是“参数无效”。什么参数无效?
编辑3:
无论我将其更改为什么,错误仍然存在。导致我所有问题的这个参数是什么?
Dim ImageByteArray As Byte() = CType(IPOSDBDataSet.Meals.Rows(0).Item(5), Byte())
Dim ImageMemoryStream As MemoryStream = New IO.MemoryStream(ImageByteArray)
Dim ImageStream As Stream = ImageMemoryStream
Dim MyImage As Image = Drawing.Image.FromStream(ImageStream)
PictureBox1.Image = MyImage
编辑4:
有人可以帮忙吗?我真的需要能够将其实现到我的程序中。是否有其他可能的方法将图像存储在 Access 数据库中并将它们导入到我的 vb.net 程序中?