-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

イメージをドライブのローカル フォルダーに保存し、そのパスをデータベースに保存できます。取得する場合は、DB からパスを取得し、そのパスからイメージ ファイルを読み取ることができます。

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

画像は変わらないと思うので、キャッシュを追加するとデータベースへの往復が節約されます。または、データベースの代わりにディスクに画像を保存することも役立ちます。

于 2012-11-02T11:00:09.007 に答える