2013-05-18 2 views
3

바이트 배열로 변환되는 SQL 테이블에 이미지가 있습니다. 어떻게 테이블을 포함하는 dataGridView에서 레코드를 클릭하면 그림 상자에 표시 할 수 있습니까? 실제 코드가 필요합니다. 감사합니다. 이것은 코드 나는 변환에 있습니다 picture가 데이터베이스에서 가져올 수있는 byte[]입니다그림 상자에 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

가정 것을 :

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

매개 변수가 없습니다. –

관련 문제