Below i mention my coding. in this coding other fields are retrieved but the image field not retrieved. when i was double click the datagridview cell the error was come "Parameter is not valid"
private void
dgvMaster_EmployeeDetails_CellDoubleClick(object sender, DataGridViewCellEventArgs
e)
{
int id = Convert.ToInt32 (dgvMaster_EmployeeDetails.Rows[e.RowIndex].Cells[0].Value);
cmd.CommandText = "select *
from EmployeeMaster_Table where [No]="+id;
cmd.Connection = conn;
conn.Open();
try
{
dr = cmd.ExecuteReader();
while
(!dr.Read().Equals(System.DBNull.Value))
{
txtMaster_EmpId.Text =
dr["Employee ID"].ToString();
txtMaster_EmpName.Text =
dr["Employee Name"].ToString();
txtMaster_Position.Text =
dr["Designation"].ToString();
cbMaster_Department.Text =
dr["Department"].ToString();
txtMaster_Email.Text =
dr["E-Mail"].ToString();
txtMaster_PerEmail.Text =
dr["Personal E-mail"].ToString();
txtMaster_Contact1.Text =
dr["Contact No1"].ToString();
txtMaster_Contact2.Text = dr["Contact
No2"].ToString();
picb_Employee.Image =
ByteArrayToImage((Byte[])dr["Emp Photo"]);
}
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
}
}
Bitmap ByteArrayToImage(Byte[] b)
{
MemoryStream ms = new MemoryStream();
Byte[] pData = b;
ms.Write(pData, 0, Convert.ToInt32(pData.Length));
Bitmap bm = new Bitmap(ms, false);
ms.Dispose();
return bm;
}