关于将WORD的文档写入数据库的问题(200分)

  • 主题发起人 主题发起人 jiabingli
  • 开始时间 开始时间
J

jiabingli

Unregistered / Unconfirmed
GUEST, unregistred user!
本人现需要将WORD模板生成的WORD文档写入数据库中,不知如何做法,以及如何再调用该文档
特请教各位高手?
 
下面这个帖子有一点介绍。希望对你有用。

Delphi与Word之间的融合技术
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517
 
写入不难,利用BLOB字段的读写即可,至于显示,则需要先从数据库中读出,形成临时文件
写入磁盘,然后再用Delphi调用,可以使用OLEContainer,也可以使用TWebBrowse,看你的要求了。
我一直是则么做的,因为不知道你是用什么数据库,所以只说了说思路,你把情况说得清楚一点,我
好告诉你怎么做
 
我用的是SQL Server2000数据库,想通过DELPHI6操作WORD模板,然后将保存的WORD文档写入数据库的字段中。
 
用文件流,先将文件读到文件流当中,然后将文件流写入到数据库中的blob字段,就完成
了文件向数据库中的写入。
读出的时候也一样,先创建一个文件流,然后将数据库中blob字段的数据返回到文件流当中
然后将文件流倒入到一个新建的文件里。在打开文件就行了。
 
to zxxsnh:
您能不能给出一个您说的思路的简单一点的例子?
多谢了先。
 
1.BLOB字段(SQL Server里面数据类型叫image)用文件流写入写出的程序:
从硬盘写道数据库中去:adoquery.FieldByName(字段名) as TBlobField).LoadFromFile(文件路径);
写出到硬盘:(adoquery.FieldByName(字段名) as TBlobField).SaveToFile(文件路径)
是不是很简单?
2.把Word文档在delphi中打开,用OLE Container我就不说了,书上都有,我给你一段用TWebBrowser打开的例程:
var TargetFrameName, PostData, Heads, Flags: OleVariant;
TargetFrameName := '';
PostData := false;
Heads := '';
Flags := 0;
Webbrowse.Navigate( 文件路径, flags, TargetFrameName, PostData, heads);
有了这两段程序,根据我上面说的思路就可以实现你要的功能了.
zxxsnh说的思路应该也可以,不过我没有试过.
 
楼上说得不错,我的方法和他差不多,只是他用的是LoadFromFile和savetofile
我用的是loadfromstream和savetostream
用流的话可以有更多一点的灵活性,你可以参看一下陈经韬的《谈Delphi编程中"流"的应用》
 
后退
顶部