问题:
检索存储为 BLOB 的图像在 MySQL 数据库中并在 PictureBox 中显示它们无法正常工作。
解决方案:
所提供代码中的问题在于从错误中检索图像数据库。以下步骤概述了从 MySQL 数据库检索和显示图像的方法:
数据库设置:
在 PictureBox 中显示图像:
在 byteArrayToImage 方法中,将字节数组 (ImageByte) 转换为 Image 对象:
public Image byteArrayToImage(byte[] byteArrayIn) { using (var ms = new MemoryStream(byteArrayIn)) { return Image.FromStream(ms); } }
在 photoLoad 方法中,使用参数化查询检索图像:
private void photoLoad() { // ... using (var con = new MySqlConnection(connectionString)) { byte[] ImageByte = new byte[0]; string query1 = "select image from reg.img_table where id= @id"; using (var cmd = new MySqlCommand(query1, con)) { cmd.Parameters.AddWithValue("@id", Properties.Settings.Default.idImg); con.Open(); using (var row = cmd.ExecuteReader()) { while (row.Read()) { ImageByte = (byte[])(row["image"]); } } } if (ImageByte != null) { // Convert to an Image object and display in PictureBox roundPictureBox1.Image = byteArrayToImage(ImageByte); roundPictureBox1.Refresh(); } } // ... }
其他注意事项:
以上是如何在 PictureBox 中显示 MySQL 中存储为 BLOB 的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!