高分求教一个三层的难题,高手请进。 ( 积分: 200 )

  • 主题发起人 主题发起人 DelphiWorm
  • 开始时间 开始时间
D

DelphiWorm

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层系统中,如何将Word文件保存到ACCESS数据库中,然后在恢复出来??
很有挑战性。
本人做了一个程序,采用TParam.LoadFromFile方法将Word文件保存到数据库中,但是恢复出来后都是乱码。本人想了很多办法都没解决。
请各位高手编一下试试,不要轻率发言。谢谢!!
 
在三层系统中,如何将Word文件保存到ACCESS数据库中,然后在恢复出来??
很有挑战性。
本人做了一个程序,采用TParam.LoadFromFile方法将Word文件保存到数据库中,但是恢复出来后都是乱码。本人想了很多办法都没解决。
请各位高手编一下试试,不要轻率发言。谢谢!!
 
看看我的程序吧,三层的,网上考试系统,有源码,请到我的网站下载。
www.startor.cn
 
三层的存储介质不一定非得数据库不可
Access中保存word,感觉有点搞笑
就把word文件保存到服务器指定目录就好了
 
可以借助于OleContainer 控件
它提供了相关的流处理的方法
 
保存到数据库也没什么,我以前也做过,使用BLOB
保存OleContainer中的流数据
 
在CS结构中是可以的,但是改成三层结构就不行了。郁闷呀。
 
to:张鸿林
俺也是没办法的,用ACCESS做数据库是因为数据量不大,而且用三层结构的话,客户维护比较简单。如果采用数据库服务器的话,那维护就复杂了。我那个客户根本就是计算机盲。
 
三层也一样的,ClientDataSet也是支持BLOB的
 
呵。回答过很多类似的问题。
这里是三层中客户端向中间层传递文件的帖子,Midas中调试通过(用内存流)。
(WIN2K+D6+Access通过 。有代码,供参考。)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2117291
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2414129
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2965804
中间层从数据库读取文件,然后保存到客户端---是从客户端向数据库保存文件过程的逆过程。
刚才我试了一下,Access中可以保存任何格式的文件(只不过文件大小好像有限制,太大的提示无法保存[:D]),
并且都可以从客户端通过中间层在数据库中读出、恢复,保存到客户端本地。(Word没有乱码)。
大致过程:中间层用 TBlobField(ADOQuery1.Fields[0]).SaveToStream(aFileStream);
保存到流中,
然后再转为Variant,传回客户端再经过一次转换,最后由内存流保存成文件即可。
注意:Access库表中保存文件的字段类型应该选择是“OLE 对象”。
如有需要,留下Q,可以给你传一个DEMO。 [:)]
 
to:jrq
谢谢。送分了。
 
后退
顶部