请大家教我啊!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    这是一个Word文件在数据库的存取的例子,引用别人的:)
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, OleCtnrs, DB, DBTables;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Table1: TTable;
        OpenDialog1: TOpenDialog;
        Button3: TButton;
        Button4: TButton;
        Label1: TLabel;
        Label2: TLabel;
        Button5: TButton;
        Button6: TButton;
        Button7: TButton;
        SaveDialog1: TSaveDialog;
        Label3: TLabel;
        OleContainer1: TOleContainer;
        Label4: TLabel;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormActivate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
        procedure Button7Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    //WordÎļþ´æÅÌ
    procedure TForm1.Button1Click(Sender: TObject);
    var MemSize: Integer;
      Buffer: PChar;
      MyFile: TFileStream;
      Stream: TBlobStream;
    begin
      OpenDialog1.Filter:='WORDÎļþ|*.doc';
      if OpenDialog1.Execute then begin
        MyFile:=TFileStream.Create(OpenDialog1. FileName,fmOpenRead);
        with table1 do
        begin
          Open;
          insert;
          table1.FieldByName('ÎļþÃû³Æ').asstring:=opendialog1.filename;//'Îļþ'+inttostr(table1.RecordCount+1);
          Edit;
          Stream := TBlobStream.Create(FieldByName('ÄÚÈÝ') as TBlobField, bmWrite);
          MemSize := MyFile.Size;
        Inc(MemSize);
        Buffer := AllocMem(MemSize);
          try
            Stream.Seek(0, soFromBeginning);
            MyFile.Read(Buffer^,MemSize);
            Stream.Write(Buffer^,MemSize);
          finally
            MyFile.Free;
            Stream.Free;
          end;
          try
            Post;
          except
             raise;
            end;
         end;
           olecontainer1.CreateObjectFromFile(OpenDialog1. FileName ,False);
           olecontainer1.Run;
           label1.caption:=inttostr(table1.RecordCount);
       end;
    end;
    //´ÓÊý¾Ý¿âÖжÁÈ¡WordÎļþ´æÅÌ
    procedure TForm1.Button2Click(Sender: TObject);
      var
      MemSize: Integer;
      Buffer: PChar;
      MyFile: TFileStream;
      Stream: TBlobStream;
    begin
        //´´½¨Ò»¸öÁÙʱÎļþ
        MyFile:=TFileStream.Create('c:\temp.tmp',fmCreate);
        with table1 do
        begin
          Stream := TBlobStream.Create(FieldByName('ÄÚÈÝ') as TBlobField, bmRead);
          MemSize := Stream.Size;
         Inc(MemSize);
         Buffer := AllocMem(MemSize);
          try
            Stream.Read(Buffer^,MemSize);
            //´Ó±äÁ¿StreamÖжÁÈ¡ÄÚÈÝ£¬´æÈëÁÙʱÎļþ¶ÔÓ¦µÄ±äÁ¿MyFileÖÐ
            MyFile.Write(Buffer^,MemSize);
          finally
            MyFile.Free;
            Stream.Free;
          end;
        end;
          if FileExists('c:\temp.DOC') then DeleteFile('c:\temp.DOC');
          if FileExists('c:\temp.tmp') then begin
          //¸üÃûÁÙʱÎļþ
          RenameFile('c:\temp.tmp', 'c:\temp.DOC');
          olecontainer1.CreateObjectFromFile('c:\temp.DOC',False);
          label3.Caption:=table1.fieldbyname('ÎļþÃû³Æ').AsString;
          olecontainer1.Run;
          end;
    end;//³ÌÐò³õʼ»¯²ÎÊýÉèÖÃ
    procedure TForm1.FormActivate(Sender: TObject);
    begin
    table1.DatabaseName:=ExtractFilePath(Paramstr(0));
    table1.TableName:='wj.db';
    table1.open;
    label1.caption:=inttostr(table1.RecordCount);
    label3.Caption:='';
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    table1.Close;
    end;
    //Êý¾Ý¿â¼Ç¼ÏÂÒÆ
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    table1.Next;
    button2.Click;
    end;
    //Êý¾Ý¿â¼Ç¼ÉÏÒÆ
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    table1.RecNo:=table1.RecNo-1;;
    button2.Click;
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin
      olecontainer1.Close;
    end;
    //½«Êý¾Ý¿âÎļþ±£´æ³öÀ´
    procedure TForm1.Button7Click(Sender: TObject);
    begin
    saveDialog1.Filter:='WORDÎļþ|*.doc';
    if label3.caption<>'' then
      begin
        savedialog1.FileName:=table1.fieldbyname('&Icirc;&Auml;&frac14;&thorn;&Atilde;&ucirc;&sup3;&AElig;').AsString;
        savedialog1.Execute;
        copyfile('c:\temp.doc',pchar(savedialog1.FileName+'.doc'),true);
      end
    else
      showmessage('&Icirc;&acute;&acute;&Oacute;&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;&Ouml;&ETH;&para;&Aacute;&Egrave;&iexcl;&Icirc;&Auml;&frac14;&thorn;!');  
    end;procedure TForm1.Button6Click(Sender: TObject);
    begin
    close;
    end;end.
      

  2.   

    用Server里面的TwordApplicaton 更简单