【问题标题】:Create Error Picture in Picture box1在图片框1中创建错误图片
【发布时间】:2012-04-03 03:10:00
【问题描述】:

我的系统中有这段代码,用于通过格式化的 blob 从数据库中检索图像。但是有些数据库记录没有图片([BLOB - 0 B])。请列出代码,以便我在图片不可用时将错误图片放入图片框1。

Dim bytes() as byte
bytes = (objdr("picture"))

Dim memStream as New MemoryStream(bytes)
PictureBox1.image = Drawing.Image.FromStream(memStream)

我使用的是 Microsoft Visual Basic 2008

【问题讨论】:

  • 什么是objdr?这是一个 OleDbDataReader?
  • objdr 是 MySqlDataReader
  • 我在行有错误“参数无效”> 将 memStream 调暗为新的 MemoryStream(字节)。

标签: vb.net


【解决方案1】:

我将尝试使用以下代码: DirectCast 似乎是从数据库中读取 Blob 字段的正确方法。
然后检查您是否有要展示的内容或尝试从您的资源中获取图片

 ' Get the image from the database.
 bytes = DirectCast(objdr("picture"), Byte()) 
 If (Not bytes Is Nothing) Then
     Dim memStream as New MemoryStream(bytes)  
     PictureBox1.image = Drawing.Image.FromStream(memStream)       
 Else
     PictureBox1.image = My.Resources.<Name_of_res_file>.<Name_of_image_resource>
 End If

【讨论】:

  • 非常感谢。但我有另一个错误。我在 > PictureBox1.Image = Drawing.Image.FromStream(memStream) 处出现错误“参数无效”
  • parameter not valid 表示字节对构建图像无效。也许如果您显示更多连接和加载图像的代码(也将图像写入数据库)。 See here 相同的问题
猜你喜欢
  • 2016-01-08
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
相关资源
最近更新 更多