我有一个通过数据源与 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
但是,我在代码的第 3 行收到错误“参数无效”。谁能告诉我如何调整我的代码来解决这个问题,或者告诉我我是否做错了什么?
编辑 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:有人可以帮忙吗?我真的需要能够在我的程序中实现这一点。有没有其他可能的方式将图像存储在访问数据库中,并将它们导入我的 vb.net 程序?