繁体   English   中英

从数据库中检索图像时参数无效

[英]Parameter not valid when I retrieve image from database

我想从我的数据库中检索图像,但是当应用程序运行时,我总是得到一个错误

参数无效

这是我的代码:

void showPic()
{
    konek.Open();

    SqlCommand Show = new SqlCommand("Select Image from [Akun] where  Username = '" + username.Text + "'", konek);

    SqlDataReader baca = Show.ExecuteReader();
    baca.Read();

    if (baca.HasRows)
    {
        byte [] images = (byte [])baca[0]; //this is line error "parameter not valid"
        MemoryStream memo = new MemoryStream(images);
        pictureBox1.Image = Image.FromStream(memo);
    }

    konek.Close();
}

当您尝试将 object 转换为与其不兼容的类型时,通常会发生此错误。

您似乎正在尝试将SqlDataReader object baca转换为byte[]数组,但baca不包含字节数组。

要解决此问题,您需要从SqlDataReader object 获取实际数据,然后将其转换为byte[]数组。

您可以通过使用SqlDataReader object 的GetBytes方法并传递包含图像数据的列的索引来执行此操作。

if (baca.HasRows)
{
    // Get the image data from the SqlDataReader object
    byte[] images = (byte[])baca.GetBytes(0);
    MemoryStream memo = new MemoryStream(images);
    pictureBox1.Image = Image.FromStream(memo);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM