具体怎样实现,能提示一下吗?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var MemoryStream:TMemoryStream;
    begin
        ClientDataSet1.Open;
        MemoryStream:= TMemoryStream.Create;
        try
            OleContainer1.SaveToStream(MemoryStream);
            MemoryStream.Position := 0;
            ClientDataSet1.First;
            ClientDataSet1.Edit;
            TBlobField(ClientDataSet1.FieldByName('Photo')).LoadFromStream(MemoryStream);
            //ClientDataSet1Photo.LoadFromStream(MemoryStream);
            ClientDataSet1.Post;
            ClientDataSet1.ApplyUpdates(-1);//这句是必须的。    finally
            MemoryStream.Free;
        end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var MemoryStream:TMemoryStream;
    begin
        MemoryStream:= TMemoryStream.Create;
        try
            TBlobField(ClientDataSet1.FieldByName('Photo')).SaveToStream(MemoryStream);
            MemoryStream.Position := 0;
            OleContainer2.LoadFromStream(MemoryStream);//不出错,内容正确!
            //OleContainer.Refresh;
        finally
            MemoryStream.Free;
        end;