【问题标题】:How to display in a picturebox an byte array image from a sql table? [duplicate]如何在图片框中显示来自 sql 表的字节数组图像? [复制]
【发布时间】:2016-04-20 03:21:33
【问题描述】:

我在一个转换为字节数组的 sql 表中有一个图像。当我单击包含该表的 dataGridView 中的记录时,如何在图片框中显示它?我需要实际代码。谢谢。这个是我用于转换的代码:

private void button2_Click(object sender, EventArgs e)
{
    SqlConnection cn = new SqlConnection(@" Data Source=HOME-D2CADC8D4F\SQL;Initial Catalog=motociclete;Integrated Security=True");
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

    byte[] pic_arr = new byte[ms.Length];
    ms.Position = 0;
    ms.Read(pic_arr, 0, pic_arr.Length);

    SqlCommand cmd = new SqlCommand("insert into motociclete(firma,model,poza,pret,anf,greutate,caprez,putere,garantie,stoc) values (@firma,@model,@poza,@pret,@anf,@greutate,@caprez,@putere,@garantie,@stoc)",cn);
    cmd.Parameters.AddWithValue("@firma", textBox3.Text);
    cmd.Parameters.AddWithValue("@model", textBox10.Text);
    cmd.Parameters.AddWithValue("@poza", pic_arr);
    cmd.Parameters.AddWithValue("@pret", textBox7.Text);
    cmd.Parameters.AddWithValue("@anf", textBox4.Text);
    cmd.Parameters.AddWithValue("@greutate", textBox9.Text);
    cmd.Parameters.AddWithValue("@caprez", textBox5.Text);
    cmd.Parameters.AddWithValue("@putere", textBox8.Text);
    cmd.Parameters.AddWithValue("@garantie", textBox6.Text);
    cmd.Parameters.AddWithValue("@stoc", textBox2.Text);

    cn.Open();

    try
    {
        int rez = cmd.ExecuteNonQuery();
        if (rez > 0)
        {
            MessageBox.Show("Adaugare reusita ");
        }
    }
    catch (Exception)
    {
        MessageBox.Show("Inregistrarea exista deja ");
    }
    finally
    {
        cn.Close();
        obj.loaddata();
        this.Close();
    }
}

【问题讨论】:

  • 你能显示你现在拥有的代码吗?如果我们了解您是如何解决这个问题的,那么为您提供帮助会容易得多。
  • 我只有将图像转换为字节的代码。我会发布。

标签: c#


【解决方案1】:

假设picture 是从数据库中获取的byte[]:

byte[] picture = // read from db
PicBoxImage.Image = Image.FromStream(new MemoryStream(picture));                                
PicBoxImage.Refresh();

【讨论】:

    猜你喜欢
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2010-12-18
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多