【发布时间】:2012-09-20 17:44:41
【问题描述】:
我是 Crystal 报表的新手。我必须在运行时通过代码设置报表的数据源。我有一个工作代码,但它是非常不可预测的,并且一直存在很多问题。我只是想知道我是否做错了什么,或者是否有更好的方法来做到这一点。
有时我觉得报表甚至没有使用连接字符串,而是使用独立 Crystal 应用程序编译报表时指定的连接。这是真的吗?
Dim connectionInfo As New ConnectionInfo
connectionInfo.ServerName = "UID=abc;PWD=abc;Driver= {SQL Server};Server=" & Page.Request.QueryString("server") & ";Database=" & Page.Request.QueryString("database")
Using report As New ReportDocument
report.Load(Server.MapPath("/report/Crystal/test.rpt"))
report.FileName = Server.MapPath("/report/Crystal/test.rpt")
SetDBLogonForReport(connectionInfo, report)
...
End Using
Private Sub SetDBLogonForReport(ByVal connectionInfo As ConnectionInfo, ByVal reportDocument As ReportDocument)
Dim tables As Tables
tables = reportDocument.Database.Tables
For Each table As CrystalDecisions.CrystalReports.Engine.Table In tables
Dim tableLogonInfo As New TableLogOnInfo
tableLogonInfo = table.LogOnInfo
tableLogonInfo.ConnectionInfo = connectionInfo
table.ApplyLogOnInfo(tableLogonInfo)
Next
End Sub
【问题讨论】:
-
您遇到了什么错误?网络上有大量示例向您展示如何将报表连接到数据库。
标签: asp.net vb.net crystal-reports connection-string crystal-reports-xi