我现在没法解决的一个问题是:
 我想把一篇WORD文档作为数据库表中的一个字段,保存到数据库里面。
不知道这样做是否是可以实现的?如果可以,那应该怎么去做?

解决方案 »

  1.   

    var
      FieldCont : TBlobStream;
      filestm   : TFileStream;
    begin
      ADOQuery1.Open;
      FileStm := TFileStream.Create('D:\11.doc',fmCreate);
      FieldCont := TBlobStream(ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName('content'),bmRead));
      FileStm.CopyFrom(FieldCont,FieldCont.size);
      FileStm.Free;
      FieldCont.Free;
    end;
      

  2.   

    uses dbtblobfield(ADOQUERY1。FIELDBYNAME('字段名’)).loadformfile('c:\abc.doc');
      

  3.   

    表结构:testword
    autoid  int 自动增加
    fdname  varchar(50)
    fdtext  image
    保存文件代码:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if OpenDialog1.Execute then
      begin
        if not ADOQuery1.Active then ADOQuery1.Open;
        ADOQuery1.Append;
        ADOQuery1fdname.Value:=ExtractFileName(OpenDialog1.FileName);
        (ADOQuery1.FieldByName('fdtext') as TBlobField).LoadFromFile(OpenDialog1.filename);
         ADOQuery1.Post;
      end;
    end;打开文件代码:
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      (ADOQuery1.FieldByName('fdtext') as TBlobField).savetoFile(ExtractFileDir(Application.ExeName)+ADOQuery1fdname.value);
      shellexecute(handle,nil,pchar(ADOQuery1fdname.value),nil,nil,sw_shownormal);
    end;
    需要shellapi单元.给分吧肯定能用.不管是WORD,EXCLE,还中JPG的都能用.
      

  4.   

    ADOQuery1fdname编译怎么通不过啊?