用olecontainer显示的话
procedure savetodb;//保存到数据库
var
  st:TStringStream;
begin
  st := tstringstream.create(''); 
  olecontainer1.createfromfile('c:\xxx.cdx',true);//也可以是..('xx.cdx',false);
  olecontainer1.savetostream(st);
  query1.sql.text := 'insert into TableX Doc_field values :Doc'; 
  query1.parambyname('cdx').asblob := st.datastring; 
  query1.execsql; 
  st.free; 
end;procedure loadfromdb;//从数据库载入
var
  st:TStringStream;
  blobsteam:Tblobstream;
begin
  st:= tstringstream.create(''); 
  blobStream := TBlobStream.Create(Table1cdx, bmRead); 
  if BlobStream.Size = 0 then begin 
    BlobStream.Free; 
    Exit; 
  end; 
  st.CopyFrom(BlobStream, BlobStream.Size); 
  st.position:=0;//可能直接
  olecontainer1.loadfromstream(st);
  //可能直接blobstream.position:=0,olecontainer1.loadfromstream(blobstream);也行
  st.free;
  BlobStream.Free; 
end;//save olecontainer to db
procedure TForm1.Button1Click(Sender: TObject);
var
  olestream:TStringstream;
begin
  if olecontainer1.canpaste then
    olecontainer1.paste
  else
    exit;
  table1.Append;
  olestream:=Tstringstream.Create('');
  olecontainer1.savetostream(olestream);
  olestream.position:=0;
  Table1ole.AsString:=olestream.DataString;
  Table1.Post;
  blobstream.free;
  oleStream.Free;
end;
//load db to olecontainer
procedure TForm1.Button2Click(Sender: TObject);
var
  olestream:TStringstream;
  blobstream:TBlobStream;
begin
  table1.Edit;
  OleContainer1.DestroyObject;
  olestream:=Tstringstream.Create('');
  blobstream:=TBlobStream.Create(Table1ole,bmReadWrite);
  blobstream.Position:=0;
  olestream.CopyFrom(blobstream,blobstream.Size);
  olestream.Position:=0;
  OleContainer1.loadfromstream(olestream);
  oleStream.Free;
end;