2013-05-18 2 views
3

У меня есть изображение в таблице sql, которая преобразуется в массив байтов. Как я могу отобразить его в окне изображения, когда я нажимаю на запись из DataGridView, который содержит таблицу? Мне нужен фактический код. Спасибо. код у меня есть для преобразования:Как отображать в картинке изображение байтового массива из таблицы sql?

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(); 
    } 
} 
+1

Можете ли вы показать код, который вы сейчас? Нам гораздо легче помочь вам, если мы увидим, как вы пытаетесь решить эту проблему. – xxbbcc

+0

У меня есть код, который преобразует изображение в байты. Я опубликую это. – stefan9976

ответ

5

Предполагая, что picture является byte[], который извлекается из базы данных:

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

отсутствует параметр –

Смежные вопросы