2014-02-18 2 views
1

참고 : 이것은 Windows 응용 프로그램 인 데이터베이스 인 ado.net 인 sql 서버입니다.DataGridview에서 이미지 스트림을 저장하는 방법

나는 datagridview에 이미지를 임시로 삽입 한 다음 루프를 통해 데이터베이스에 각 행을 저장합니다. enter image description here 은 내가 어떻게 DataGridView에 이미지를 저장하는 것입니다 dataGridView1.Rows[x].Cells[1].Value

내 질문에 pictureBox1를 교체하려면이

MemoryStream stream = new MemoryStream(); 
pictureBox1.Image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] pic = stream.ToArray(); 
SqlCommand cmda = new SqlCommand("INSERT INTO KeyWord (ItemName, DateEntry,image, imageindex) VALUES (N'" + listBoxI.ToString() + "', GETDATE(), @image, 1)", cn); 
cmda.Parameters.AddWithValue("@Pic", pic); 
try 
{ 
    cn.Open(); 
    cmda.ExecuteNonQuery(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 
finally 
{ 
    cn.Close(); 
} 

처럼 PictureBox에서 스트림을 삽입하는 방법을 알아?

+0

'셀 [1]'은'DataGridViewImageColumn'입니까? – etaiso

+0

@etaiso 예. –

답변

1

당신은 같이 갈 수는 :

Image myImg = (dataGridView1.Rows[x].Cells[1].Value as Image); 
myImg.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 

또는 변수의 사용없이 한 줄에 :

(dataGridView1.Rows[x].Cells[1].Value as Image).Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 

당신은 DataGridViewImageColumn의 값이 Image이 때문에 변환이 안전한 것을 알고있다.

+0

입니다. 감사합니다. :) –

관련 문제