.Net环境下水晶报表不能动态更新的问题原由及解决

前段时间看到经常有人问水晶报表数据不能及时刷新的问题
因为我一般都是开发应用软件下的报表多些,一直没有这个问题
而提问的时候又没有说明是WEB下出现这种情况,让我郁闷了好久,呵呵

最近看了看,原来这是因为水晶报表组件的缓存功能造成的,
这种情况只在ASP.Net下才有,因为水晶报表的缓存是以ASP.Net的缓存机制为基础的


在你创建强类型报表的时候,会出现如下界面注意到下面的勾勾了吗?

就是这个设置使水晶报表进行缓存,
使用缓存的好处是在一段时间内,不用再连接数据库,节约服务器资源。
这个时候一段时间内如果你更新了数据条件,对于同一报表页面数据是不能及时刷新的

解决方法1:
如果你的报表访问量不是非常大的话,不要选中使用缓存机制
解决方法2:
使用水晶报表工具条上的刷新按钮(默认是不显示的,把hasRefreshButton设置为True),而不是刷新IE来刷新数据

本文只是个概要,对于水晶报表的缓存机制,如果运用的好的话会提高整个系统的性能
因为一般的报表数据量教大,少刷新一次性能就会提高不少,不过我还没有很深入的去钻研,等有机会再做了. ^_^

posted @ 2005-04-17 10:42  阿泰  阅读(3819)  评论(2编辑  收藏  举报