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

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

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

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

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

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

 

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

直连数据库拉模式(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   Object ByVal  e  As  System.EventArgs)  Handles   Me .Init
        ConfigureCrystalReports()
    
End Sub
End Class

 

 

你可能感兴趣的:(pull)