代码:
var
  word_stream: TMemoryStream;
  filename: string;//写
begin
  if odgDoc.Execute then//odgDoc:OpenDialog
  begin
    filename := ExtractFileName(odgDoc.FileName);
    word_stream := TMemoryStream.Create;
    word_stream.LoadFromFile(odgDoc.FileName);
    word_stream.Position:=0;
    with adotable1 do
    begin
    open;
    adotable1.Append;
    adotable1.FieldByName('c_qydm').Value:= filename;
    TBlobField(adotable1.FieldByName('word')).LoadFromStream(word_stream);
    adotable1.Post;
    end;
    word_stream.Free;
    Doc_ole.CreateObjectFromFile(odgDoc.FileName,False);
    Doc_ole.Run;{Doc_ole为ToleContainer构件名}
    doc_ole.Doverb(ovShow);
  end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
  MyStream:TStream;
begin
  adoqry1.SQL.Text:='select * from table3 where c_qydm=''功能序号.doc'' ';
  adoqry1.Open;
  try
    MyStream:=TADOBlobStream.Create(ADOQry1.FieldByName('word'),bmRead);
  //这里总是报blobfeild 错.. 这里怎么改啊.............
 doc_ole.LoadFromStream(MyStream);
  finally
    MyStream.Free;
  end;
doc_Ole.Doverb(ovShow);
end;写操作可以执行,但是读的时候老是错误..table3   c_qydm char(10)
         word   text(16)