C# 如何单击按钮从datagridview中的sqlserver检索所有类型的数据?

C# 如何单击按钮从datagridview中的sqlserver检索所有类型的数据?,c#,sql,C#,Sql,我想知道如何通过单击按钮从DataGridView中的sqlserver检索图像。我可以用下面的代码显示其他类型的数据,在图像列中显示错误。那么,如何在单击按钮时在DataGridView中按列显示所有类型的数据,包括c#中的图像呢 SQL数据类型图像在c#中作为字节[]返回。要将其转换为实际图像,您需要执行以下操作: var imgArray = (byte[])ds.Tables[0].Rows[0]["FILE_IMAGE"]; using (var s = new MemoryStrea

我想知道如何通过单击按钮从DataGridView中的sqlserver检索图像。我可以用下面的代码显示其他类型的数据,在图像列中显示错误。那么,如何在单击按钮时在DataGridView中按列显示所有类型的数据,包括c#中的图像呢


SQL数据类型
图像
在c#中作为
字节[]
返回。要将其转换为实际图像,您需要执行以下操作:

var imgArray = (byte[])ds.Tables[0].Rows[0]["FILE_IMAGE"];
using (var s = new MemoryStream(imgArray))
{
    var img = System.Drawing.Image.FromStream(s);
}

图像列是什么SQL Server数据类型?如果它是实际的
图像
数据类型,则它是一个可变长度的二进制值,您需要将其转换为
DataGridView
可以显示的内容。在其他新闻中,该数据类型已被弃用,但由于您是学生,您可能没有选择。这不起作用。它显示“StudentManagementSystem.exe中发生了未处理的“System.InvalidCastException”类型异常。其他信息:无法将“System.DBNull”类型的对象强制转换为“System.Byte[]”类型你好,Skynova,似乎你需要检查空值(即无图像)
var imgArray = (byte[])ds.Tables[0].Rows[0]["FILE_IMAGE"];
using (var s = new MemoryStream(imgArray))
{
    var img = System.Drawing.Image.FromStream(s);
}