想飞的兔子呀 2014-09-16 11:24 采纳率: 0%
浏览 968

c# 编写SQL数据库程序 向数据库中存入图片 但是从中读取时不显示图片 这是为什么?

enter code here

//这是把图片存入数据库之前的 将图片转成流的程序
dlg.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files(*.*)|*.*";
if (dlg.ShowDialog() == DialogResult.OK)
{
pic.Image = Image.FromFile(dlg.FileName);
txtFilePath = dlg.FileName;
}

if (txtFilePath != "")
{
try
{
FileStream fs = new FileStream(txtFilePath, FileMode.Open, FileAccess.Read);
int length = Convert.ToInt32(fs.Length);
b = new byte[length];
fs.Read(b, 0, length);
fs.Close();
}
catch
{
b = null;
}
}
//以下是从数据库中读出图片并显示的程序
if (DataClass.MyDS.Tables["tb_UserID"].Rows[0]["picture"] == DBNull.Value)
{
pic.Image = connect.Properties.Resources.Winter;
}
else
{
byte[] b = (byte[])(DataClass.MyDS.Tables["tb_userID"].Rows[0]["pictrue"]);
pic.Image = Image.FromStream(new MemoryStream(b));
}

数据库操作部分没有问题 感觉存和读也都没有什么错误呢,但是就是显示不出来!还请大家帮忙分析~~多谢!!!

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 17:30
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能有多种原因。这里有一些常见的可能性:

    1. 图片文件格式不被解析:检查一下你的图片文件是否以正确的格式存储(例如,如果使用的是JPEG或PNG格式)。如果你的图片文件是一个二进制数据,那么它必须以某种形式被转换为可识别的数据格式。

    2. 图片文件损坏或丢失:如果在从文件名获取图片时遇到问题,你可能无法正确地加载图片文件。确保文件路径是正确的,并且文件存在。

    3. 数据库连接有问题:确保你的数据库连接正常工作。你可以尝试断开重连来确认。

    4. 数据库表结构不对:检查你的数据库表是否有足够的字段来存储图片数据。如果你的数据库表只包含一个“picture”字段,那么图片将不会被存储到那里。

    5. 网络问题:如果图片位于服务器上,网络延迟可能会导致图像下载失败。

    6. 字符编码问题:如果图片来自不同的源,或者图片内容中的字符编码与数据库使用的不同,也可能导致显示问题。

    解决这些问题的方法取决于具体的环境和问题的原因。通常情况下,你需要先解决问题,然后才能确定如何处理图片显示的问题。

    评论

报告相同问题?