[英]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.