Acess数据库中存取图形及二进制数,字段应为什么类型及如何存取???

解决方案 »

  1.   

    可以是"OLE 对象"类型如下 var
      Ms:TmemoryStream;
      MyJPEG:TJpegimage;
    ///读取
    if not (fieldbyname('F_syt').IsNull) then
            begin
              try
                Ms:=TmemoryStream.Create;
                MyJPEG:=TJpegimage.Create;
                TBlobField(FieldByName('F_syt')).SaveToStream(MS);
                MS.Position:=0;
                MyJPEG.LoadFromStream(MS);
                image1.Picture.Bitmap.Assign(MyJPEG);
              finally
                MS.Free;
                MyJPEG.Free;
              end;
            end
            else
              image1.Picture:=nil;
    //示意图保存
          if (image1.Picture.Graphic<>nil) then
          begin
            Jpeg:=TJpegImage.Create;
            try
              jpeg.Assign(image1.Picture.Graphic);
              ms:=Tmemorystream.Create;
              jpeg.SaveToStream(ms);
              ms.Position:=0;
              TBlobField(FieldbyName('F_syt')).LoadFromStream(MS)
            finally
              jpeg.Free;
              ms.Free;
            end;
          end;