-3

我正在从数据库中检索图像并使用 Datalist 显示,但是图像加载时间很长,因此需要帮助来优化它。这是我的代码:

public byte[] GetPicture(string Id, string state)
{
    byte[] picData = null;

    try
    {
        if (con.State == ConnectionState.Closed)
            this.openConnection();
        strGetImage = string.Format(strGetImage, Id);
        OleDbCommand oledbCommand = new OleDbCommand(strGetImage, con);
        picData = (byte[])(oledbCommand.ExecuteScalar());

               }
    catch (Exception)
    {
    }
    finally
    {
        con.Close();
    }
    return picData;
  }
4

2 回答 2

2

您可以将图像保存在驱动器上的某个本地文件夹中,然后将它们的路径保存在数据库中。当您想要检索时,您可以从数据库中获取路径并从该路径读取图像文件。

byte[] img = Files.readAllBytes(Path);
于 2012-11-02T10:27:18.070 回答
0

我猜图像不会改变,因此添加缓存将为您节省到数据库的往返行程。或者将图像保存在磁盘上而不是数据库上也会有所帮助。

于 2012-11-02T11:00:09.007 回答