直连数据库拉模式(PULL)的水晶报表编程实现之极简教程

 拉模式也就是最基本的水晶报表制作方法,直接连接数据库生成报表。

这个代码其实在水晶报表自带的示例里有的,这里再拿出来讲一下。

创建报表时,输入了数据库服务器的相关参数

 

但是执行后,出现如下信息提示。您请求的报表需要更多信息。

此时编辑aspx页面对应的代码,将数据库的认证信息赋过去就行了。

代码为:

 

Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Web

Partial Class _Default
    
Inherits System.Web.UI.Page
    
Private myReport As ReportDocument

    
Private Sub ConfigureCrystalReports()
        
Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
        myConnectionInfo.DatabaseName 
= "xxxx"
        myConnectionInfo.UserID 
= "xxx"
        myConnectionInfo.Password 
= "xxxx"
        myConnectionInfo.ServerName 
= "xxxx"

        myReport 
= New ReportDocument()
        
Dim reportPath As String = Server.MapPath("crystalreport1.rpt")
        myReport.Load(reportPath)
        CrystalReportViewer1.ReportSource 
= myReport
        SetDBLogonForReport(myConnectionInfo, myReport)
    
End Sub

    
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
        
Dim myTables As Tables = myReportDocument.Database.Tables
        
For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
            
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
            myTableLogonInfo.ConnectionInfo 
= myConnectionInfo
            myTable.ApplyLogOnInfo(myTableLogonInfo)
        
Next
    
End Sub

    
Protected Sub Page_Init(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Init
        ConfigureCrystalReports()
    
End Sub
End Class

 

 

posted @ 2008-10-09 16:16  阿泰  阅读(3752)  评论(0编辑  收藏  举报