我用的是sqlserver,表A有一个字段ss是image类型,请问如何在image控件中看到
数据库中这个字段的图象,不能用dbimage控件,请给些代码,谢谢。

解决方案 »

  1.   

    为什么不能用?
    你可以重新动态创建一个dbimage,然后将得到的picture复制给image控件。
      

  2.   

    用数据流:
    var
      pjpg:tjpegimage;
      pic:TMemoryStream;
    begin
      pjpg:=tjpegimage.Create;
      pic:=TMemoryStream.Create;
      TBlobField(dataset.FieldByName('ss')).savetoStream(pic);
      pic.positon:=0;
      pjpeg.LoadFromStream(pic);
      image.graphi.bmp.assign(pjpeg);
    end;
      

  3.   

    数据写到数据库中去。 
    var
      MS: TMemoryStream;
    begin
      MS:=TMemoryStream.create;
      Image1.Picture.Bitmap.SaveToStream(MS);
      MS.Position:=0;
      Table1.Append;
    // 在数据库中添加一条记录 
      TBlobField(Table1.FieldbyName('image')).LoadFromStream(MS);
      Table1.Post;
    // 将所作的更新写入数据库 
    end;//读出数据库的图象数据。 
    var
      MS: TStream;
    begin
      with Table1 do
        MS:=CreateBlobStream(FieldbyName('image'),bmRead);
        Image1.Picture.Bitmap.LoadFromStream(MS);
        MS.Free;
    end;