ASP控制Crystal Report的问题

yanghui88 2004-01-08 12:48:31
ASP和Crystal Report的配合使用一直是没有问题的,但是在最后的用户测试时候发现一个问题:每次点"下一页",就会重新访问数据库(我们是用存储过程来生成报表),每次重新访问给了Server很大的压力,现在,需要解决这个问题:

1.如果能够让每次点"下一页"的时候不用重新访问数据库,那是最好的.(但是我觉得这个不太可能实现)

2.修改asp代码,在原来代码的最后,让CrystalReport导出当前报表为PDF格式的文件,然后,将这个文件返回给Client.我找到了一段.NET的代码,但是我需要把它改成asp代码:
Private Sub ExportToPDF(ByVal oRpt As ReportDocument)
Dim crExportOptions As ExportOptions

crExportOptions = oRpt.ExportOptions
With crExportOptions
.FormatOptions = New PdfRtfWordFormatOptions()
.ExportFormatType = ExportFormatType.PortableDocFormat
End With

Dim req As ExportRequestContext = New ExportRequestContext()
req.ExportInfo = crExportOptions

Dim st As System.IO.Stream
st = oRpt.FormatEngine.ExportToStream(req)

Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"

Dim b(st.Length) As Byte
st.Read(b, 0, st.Length)
Response.BinaryWrite(b)

Response.End()
End Sub

中间遇到了问题,
Dim req As ExportRequestContext = New ExportRequestContext()

Dim st As System.IO.Stream
st = oRpt.FormatEngine.ExportToStream(req)

Dim b(st.Length) As Byte
st.Read(b, 0, st.Length)
Response.BinaryWrite(b)
这些都不知道该怎么改.
请高手来帮帮忙!谢谢了!
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghui88 2004-01-12
  • 打赏
  • 举报
回复
谢谢大家的帮忙,问题解决了.
Crystal Report有个高级版本,那个版本中,会提供页面缓存,所以就不会再发生"重新调用存储过程"的情况了.
谢谢大家.
xieyj 2004-01-08
  • 打赏
  • 举报
回复
因为调用的是存储过程,点下一页肯定会重新访问的.
yangzixp 2004-01-08
  • 打赏
  • 举报
回复
友情UP一下
yanghui88 2004-01-08
  • 打赏
  • 举报
回复
asp+crystal是有例子的,你如果安装了Crystal Report 9.0的server端,它会自动安装几个asp文件,并且还有调用的例子,只需要UserName和Password就可以直接用了.

有人能帮我看看这个代码吗????
zhanghao5188 2004-01-08
  • 打赏
  • 举报
回复
没有!!用。NET 吧
lhtyx 2004-01-08
  • 打赏
  • 举报
回复
请问有没有asp+crystal的例子?
yanghui88 2004-01-08
  • 打赏
  • 举报
回复
楼上的,谢谢你!
生成报表那边肯定是无法改动了,因为每个报表都是经过复杂的运算(在存储过程里面),然后,通过临时表返回记录集的.555....
有人能帮我用第二个方法来实现一下:帮我改改这段代码!
谢谢啦!

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧