C# 从DB在PictureBox中显示照片
我有这样一个代码,当员工没有图片时,会出现一条消息:看起来像C# 从DB在PictureBox中显示照片,c#,winforms,linq,picturebox,C#,Winforms,Linq,Picturebox,我有这样一个代码,当员工没有图片时,会出现一条消息:看起来像Emp.Photo是null,调用ToArray()会给您一个空引用异常。试试这个: public EmployeeProfile(int EmpID) { if (byteArrayToImage(Emp.Photo.ToArray()) != null) { pictureBoxEmp.Image = byteArrayToImage(Emp.Photo.ToArr
Emp.Photo
是null
,调用ToArray()
会给您一个空引用异常。试试这个:
public EmployeeProfile(int EmpID)
{
if (byteArrayToImage(Emp.Photo.ToArray()) != null)
{
pictureBoxEmp.Image = byteArrayToImage(Emp.Photo.ToArray());
pictureBoxEmp.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
public Image byteArrayToImage(Byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
似乎您的
Emp
最初没有照片,这意味着Emp.Photo为空,这就是为什么您的消息是“对象引用未设置为对象的实例”,您需要首先检查您的Emp对象是否有照片:
if (Emp.Photo != null)
{
pictureBoxEmp.Image = byteArrayToImage(Emp.Photo.ToArray());
pictureBoxEmp.SizeMode = PictureBoxSizeMode.StretchImage;
}
确保Emp和照片不为空:
public EmployeeProfile(int EmpID)
{
if (Emp.Photo != null)
{
pictureBoxEmp.Image = byteArrayToImage(Emp.Photo.ToArray());
pictureBoxEmp.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
请准确地说明您想要做什么,并显示您的整个代码,以给出适当的答案。
public EmployeeProfile(int EmpID)
{
if (Emp != null && Emp.Photo != null)
{
pictureBoxEmp.Image = byteArrayToImage(Emp.Photo.ToArray());
pictureBoxEmp.SizeMode = PictureBoxSizeMode.StretchImage;
}
}