如何从数据库中读取图像

YOU*_*'Me 2 c# sql

OleDbCommand and = new OleDbCommand();
c.Open();
and.Connection = c;
and.CommandText = "SELECT * FROM MaleShoes WHERE IDhere=ID ";
OleDbDataReader read = and.ExecuteReader();
while (read.Read())
{
    label6.Text = (read[1].ToString());
    textBox1.Text = (read[2].ToString());
    pictureBox1.Image = (read[3].ToString());  
}

c.Close();
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

错误1无法将类型'string'隐式转换为'System.Drawing.Image'

我该如何解决?

我的照片在第三栏的数据库中.

Moh*_*han 5

如果您的数据库列包含图像文件的路径,则应编写:

pictureBox1.Image = Image.FromFile((string)read[3]);
Run Code Online (Sandbox Code Playgroud)

如果是图像数据(二进制),你应该写:

var bytes = (byte[])read[3];
using(MemoryStream ms = new MemoryStream(bytes))
{
    pictureBox1.Image = Image.FromStream(ms);
}
Run Code Online (Sandbox Code Playgroud)