我用DELPHI,数据库用SQL SERVER2000,在进行数据录入时我将图片数据直接写入IMAGE字段,每次记录移动时自动读取并显示,一切正常,但就是运行速度非常缓慢,无法接受,请问这是出了什么问题,是不是数据库要进行优化,如何进行优化,还是DELPHI中的连接设置有问题而造成IMAGE类型的字段读取速度非常缓慢?

解决方案 »

  1.   

    存到数据库
    var
    pjpg:tjpegimage;
    pic:TMemoryStream;
    begin
    pjpg:=tjpegimage.Create;
    pjpg.LoadFromFile(F:\JPG.jpg);
    pic:=TMemoryStream.Create;
    pjpg.SaveToStream(pic);
    pic.Position:=0;
    TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
    dataset.post;
    pic.Free;
    pjpg.free;
    end;
    从数据库取出
    var
    pjpg:tjpegimage;
    pic:TMemoryStream;
    begin
    pjpg:=tjpegimage.Create;
    pic:=TMemoryStream.Create;
    TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
    pic.positon:=0;
    pjpeg.LoadFromStream(pic);
    image.graphi.bmp.assign(pjpeg);
    end;end;
      

  2.   

    用DBImage,自动读取,速度极快!