【发布时间】:2014-03-19 23:52:09
【问题描述】:
我在服务器中有 mysql 数据库并与之连接
Mysql.Data vb.net 中的库,我一切正常,但现在我在使用水晶报告生成报告时遇到了问题。
我在哪里设置水晶报表的数据源,以便从远程mysql中获取数据。
【问题讨论】:
标签: mysql vb.net datasource
我在服务器中有 mysql 数据库并与之连接
Mysql.Data vb.net 中的库,我一切正常,但现在我在使用水晶报告生成报告时遇到了问题。
我在哪里设置水晶报表的数据源,以便从远程mysql中获取数据。
【问题讨论】:
标签: mysql vb.net datasource
有很多方法可以做到这一点,但我就是这样做的。顺便说一句,我在多个应用程序中使用的库中有这个。注意:这假定一个 SQL 客户端连接字符串,您可以更改它以满足您的需要。
Public Shared Sub SetupReportConnections(ByVal rpt As CrystalDecisions.CrystalReports.Engine.ReportDocument, ByVal ConnString As String, Optional ByVal UpdateSubReport As Boolean = True)
If ConnString = "" Then Exit Sub
'First, parse the connection string for the parts we need
Dim CN As New SqlClient.SqlConnection(ConnString)
Dim sServer As String = CN.DataSource
Dim sDatabase As String = CN.Database
'Update the connection information for each table
Dim crtableLogoninfo As New CrystalDecisions.Shared.TableLogOnInfo
Dim CrTables As CrystalDecisions.CrystalReports.Engine.Tables
Dim CrTable As CrystalDecisions.CrystalReports.Engine.Table
CrTables = rpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo.ServerName = sServer
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
If UpdateSubReport Then
For Each subrpt As CrystalDecisions.CrystalReports.Engine.ReportDocument In rpt.Subreports
SetupReportConnections(subrpt, ConnString, False)
Next
End If
End Sub
【讨论】: