问题如上

解决方案 »

  1.   

    你可以把excel或word用二进制文件流的形式读取出来,保存到数据库中。可用另外的字段标识该文件流的类型。
    读取的时候从数据库中把前面保存的内容取出来,写到一个文件中,就可以还原成你先前的文件。
      

  2.   

    用一个BLOB字段保存到库中,读取的时候取到一个文件中
      

  3.   

    字段类型 image text 'fieldname'都可以
    procedure TForm1.Button1Click(Sender: TObject);//保存文件
    var str:Tmemorystream;
    begin
    str:=Tmemorystream.Create;
    str.LoadFromFile('c:\1.doc');
    str.Position:=0;
    adoquery1.Append;
    Tblobfield(adoquery1.FieldByName('fieldname')).loadfromstream(str);
    try
    adoquery1.Post;
    finally
    str.Free;
    end;
    end;procedure TForm1.Button2Click(Sender: TObject);//读取文件
    var str:Tmemorystream;
    begin
    str:=Tmemorystream.Create;
    str.Position:=0;
    Tblobfield(adoquery1.FieldByName('fieldname')).savetostream(str);
    str.SaveToFile('c:\2.doc');
    str.Free;
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      OleContainerFY1.CreateObjectFromFile('d:\1.doc',false);
      OleContainerFY1.DoVerb(1);
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      MS: TMemoryStream;
    begin
      MS := TMemoryStream.Create;
      OleContainerFY1.SaveToStream(MS);
      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'SELECT * FROM TABLE1';
        Open;
        Append;
        TBlobField(FieldByName('BL')).LoadFromStream(MS);
        Post;
        Application.MessageBox('succussful','fgyr',mb_ok);
      end;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Text := 'SELECT BL FROM TABLE1';
        Open;
        TBlobField(FieldByName('BL')).SaveToFile('d:\abc.doc');
      end;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
      OleContainerFY1.LoadFromFile('d:\abc.doc');
      OleContainerFY1.DoVerb(1);
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin
      OleContainerFY1.SaveToFile('d:\abc.doc');
      OleContainerFY1.DestroyObject;
    end;