错误:将byte []转换为图像

时间:2019-11-08 17:04:50

标签: c# sql windows-forms-designer

所以我试图将字节数组转换为图像,但是出现此错误:

  

System.ArgumentException:'参数无效。' byte []来自SQL Server中数据类型为“图像”的数据库。

我已经尝试了StackOverflow其他问题中提供的所有解决方案,但这些解决方案对我没有用;这是我的代码:

//biblioteca.herramientas is where I make the connection with the server
DataSet dataset_Image;
dataset_Image = Biblioteca.Herramientas(string.Format("SELECT * FROM Image WHERE id_Image = " + 1));

array = (byte[])dataset_Image.Tables[0].Rows[0]["image"];

public byte[] TheImage
{
    set
    {
        theImage = ImageConversor.ByteArrayToImage(value);
        PictureBox2.Image = theImage;
    }
}

这是我出现错误的地方:

public class ImageConversor
{
    public static Image ByteArrayToImage(byte[] byteArrayIn)
    { //HERE THE ERROR APPEARS
        MemoryStream ms = new MemoryStream(byteArrayIn);
        Image returnImage = Image.FromStream(ms);
        return returnImage;
    }
}

The following picture is the SQL table that I am accessing to:

SQL table

仅此而已,如果您需要更多信息,我会分享的,谢谢您的时间,希望您过得愉快。 (:

编辑: 如果我直接从SQLS添加图片,将列“ image”(存储图片的地方)的数据类型从“ image”更改为“ varbinary(MAX)”,然后使用以下代码插入图片,则代码可以正常工作: / p>

insert into Image select * from openrowset (bulk N'picture directory', single_blob) as image

问题是我不能用它来添加图片,但是我不知道,也许这有助于解决这个问题:/

0 个答案:

没有答案