首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么实现WORD文档导入到数据库

2012-02-26 
如何实现WORD文档导入到数据库delphi 7.0数据库用sql2000RT,怎么实现添加WORD文档到数据库中?[解决办法]De

如何实现WORD文档导入到数据库
delphi 7.0

数据库用sql2000

RT,怎么实现添加WORD文档到数据库中?

[解决办法]

Delphi(Pascal) code
            sql := 'UPDATE tab SET BGZW=:file' +        ' where XTAJBH=''' + case_id + '''';      execInt := DataModule_sys.ExecLobUpdate(sql, 'file', self.Edit_text.Text);      //self.Edit_text.Text word 文档的路径和名称      // BGZW 数据库大字段            function TDataModule_sys.ExecLobUpdate(sql: string; LobName: string; FileName:              string): Integer;            begin              try                if self.ADOQuery1.Active then                  self.ADOQuery1.Close;                self.ADOQuery1.Prepared := true;                self.ADOQuery1.ParamCheck := true;                self.ADOQuery1.SQL.Text := sql;                ADOQuery1.Parameters.ParamByName(LobName).LoadFromFile(FileName, ftBlob);                ADOQuery1.ExecSQL;                result := self.ADOQuery1.ExecSQL;              finally                self.ADOQuery1.Prepared := false;                self.ADOQuery1.ParamCheck := false;                self.ADOQuery1.Close;              end;             // (ADOQuery1.FieldByName('aaa') as TGraphicField)            end;
[解决办法]
网上找的代码,经过测试后修改了一下

在数据库上使用Image二进制字段保存,使用Stream流的方式。

创建文件流:
Word_FileStream:=TMemoryStream.Create;
Word_FileStream.Position:=0;


保存到数据库的Image字段:
Word_FileStream.LoadFromFile('c:\wordfile.DOC');
TBlobField(AdoQuery1.FieldByName(Column_Name)).loadfromStream(Word_FileStream);

从数据库读取文件到本地硬盘:
TBlobField(ADOQuery1.FieldByName(Column_Name)).SaveToStream(Word_FileStream);
Word_FileStream.SavetoFile('c:\wordfile.DOC');

释放文件流:
Word_FileStream.Free;

热点排行