|
procedure TMainForm.Button3Click(Sender: TObject);
VAR
NS : TMemoryStream;
OS : TMemoryStream;
begin
NS := TMemoryStream.Create;
OS := TMemoryStream.Create;
DataSetBZSJJ1.open;
TBlobField(DataSetBZSJJ1.FieldbyName('FILES')).SaveToStream(NS);
NS.Position :=12;
OS.CopyFrom(NS,NS.Size-12);
OleContainer1.LoadFromStream(OS);//这里出错
end;
说明:
我存入的时候是用OleContainer1.SaveToStream(NS); 存的
代码如下:
存入
procedure TMainForm.Button1Click(Sender: TObject);
var
NS: TMemoryStream;
begin
if OpenDialog1.Execute then
begin
NS:=TMemoryStream.Create;
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);
OleContainer1.SaveToStream(NS);
NS.Position := 0;
DataSetBZSJJ1.open;
DataSetBZSJJ1.Append;
TBlobField(DataSetBZSJJ1.FieldbyName('FILES')).LoadFromStream(NS);
DataSetBZSJJ1.FieldbyName('F_ID').asstring :=OpenDialog1.FileName;
DataSetBZSJJ1.Post;
DataSetBZSJJ1.ApplyUpdates;
NS.Free;
end;
end;
|
|