我有小问题,但我需要你的帮助。我已成功将图片插入到数据库中,因此我尝试通过DataGridView
访问这些图像。每当我点击dgv
行/单元格时,我都需要将图片显示在图片框中。这是我的代码。
SqlConnection con = new SqlConnection(ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Candidates WHERE CandidateID = '" + dataGridViewCandidate.SelectedRows[0].Cells[0].Value.ToString() + "'", con);
DataTable dt = new DataTable();
da.Fill(dt);
//dataGridViewCandidate.DataSource = dt;
byte[] binaryimage = (byte[])dt.Rows[0][1];
Bitmap image;
using (MemoryStream stream = new MemoryStream(binaryimage))
{
image = new Bitmap(stream);
}
EmployeePhoto.Image = image;
我得到的错误在下面;
无法投射类型&System;日期时间'输入' System.Byte []'
感谢您的帮助。
答案 0 :(得分:0)
以下是将其放入图片框的方式
SqlCommand cmd = new SqlCommand("SELECT Image FROM tableName",yourConnectionStringHere);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.fill(ds);
foreach(DataRow dr in ds.Tables[0].Rows)
{
Byte[] data = new Byte[0];
data = (Byte[])(dr["ImageColumnName"]);
MemoryStream ms= new MemoryStream(data);
yourPictureBoxID.Image= Image.FromStream(ms);
}