无法从数据库检索图像到图片框

时间:2012-11-30 06:40:39

标签: c# winforms sql-server-2008-r2

我的Windows窗体中有一个PictureBox控件。
图片列的数据类型是'TableName'表中的'image' 这些是代码,它表示从数据库获取图像并将其放入PictureBox控件:

string connectionString = @"Initial Catalog=DataBaseName;Data Source=DataSourceName;Integrated Security=SSPI;";
            SqlConnection connection = new SqlConnection(connectionString);
            connection.Open();
            SqlDataAdapter da = new SqlDataAdapter(new SqlCommand("Select Picture From TableName where ID = 2 ", connection));
            DataSet ds = new DataSet();
            da.Fill(ds);
            byte[] myImage = new byte[0];
            myImage = (byte[])ds.Tables[0].Rows[0]["Picture"];
            MemoryStream stream = new MemoryStream(myImage);
            pictureBox1.Image = Image.FromStream(stream);
            connection.Close();

通常它始终有效,但现在它显示ArgumentExeption错误'参数者无效'在此行pictureBox1.Image = Image.FromStream(stream);
我不明白?哪个参数?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

似乎存在于从数据库中保存和读取对象的方式,异常来自Image.FromStream(stream); MEthode,MSDN说出这个例外:

  

流没有有效的图片格式   -要么-   stream为null。

因此,当你在问题中提到它不是Null时,我假设您保存数据或以不兼容的方式读取数据。