我正在使用独立水晶报告在我的项目,这是在windows应用程序。在这里,我想通过登录凭证。下面的代码正在使用。
Private Sub cmd_print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_print.Click
Dim strConnection As String = "..."
Dim cr As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim strReportPath As String = "d:\ReportFtLabel.rpt"
cr.Load(strReportPath)
Dim ConnectInfo As New CrystalDecisions.Shared.ConnectionInfo
With ConnectInfo
.ServerName = "RRRR"
.DatabaseName = "RRRR"
.UserID = "XXXX"
.Password = "XXXX"
End With
For Each Table As CrystalDecisions.CrystalReports.Engine.Table In cr.Database.Tables
Dim LogOnInfo As CrystalDecisions.Shared.TableLogOnInfo
LogOnInfo = Table.LogOnInfo
LogOnInfo.ConnectionInfo = ConnectInfo
Table.ApplyLogOnInfo(LogOnInfo)
Next
objSCIP_ml = New SCIP_ml
objSCIP_bll = New scip_bll
Dim DS As New DataSet
DS = objSCIP_bll.bll_GetHandShake(objSCIP_ml)
If Not DS Is Nothing Then
cr.Load(strReportPath)
cr.SetDataSource(DS)
CrystalReportViewer1.ReportSource = cr
CrystalReportViewer1.Refresh()
End If
DS = Nothing
objSCIP_ml = Nothing
objSCIP_bll = Nothing
End Sub但是它会抛出以下错误。

我错过了传递登录信息的地方..。任何建议和解决方案都是非常感谢的。提前谢谢。
发布于 2014-11-16 14:50:04
您可以将它作为键添加到中,如下所示:
<add key="ServerName" value="RRRR"/>
<add key="DataBaseName" value="RRRR"/>
<add key="DatabaseUser" value="XXXX"/>
<add key="DatabasePassword" value="XXXX"/>并在您的代码中调用它们,比如:
Dim SERVER_NAME As String = ConfigurationManager.AppSettings("ServerName").ToString()
Dim DATABASE_NAME As String = ConfigurationManager.AppSettings("DataBaseName").ToString()
Dim DatabaseUser As String = ConfigurationManager.AppSettings("DatabaseUser").ToString()
Dim DatabasePassword As String = ConfigurationManager.AppSettings("DatabasePassword").ToString()
.UserID = "XXXX"
.Password = "XXXX"发布于 2014-11-17 19:14:25
您正在提供连接信息和数据源。你需要做一个或另一个。
删除这段代码
Dim ConnectInfo As New CrystalDecisions.Shared.ConnectionInfo
With ConnectInfo
.ServerName = "RRRR"
.DatabaseName = "RRRR"
.UserID = "XXXX"
.Password = "XXXX"
End With
For Each Table As CrystalDecisions.CrystalReports.Engine.Table In cr.Database.Tables
Dim LogOnInfo As CrystalDecisions.Shared.TableLogOnInfo
LogOnInfo = Table.LogOnInfo
LogOnInfo.ConnectionInfo = ConnectInfo
Table.ApplyLogOnInfo(LogOnInfo)
Next检查此链接如何设置数据源:http://www.emoreau.com/Entries/Articles/2006/09/Feeding-Crystal-Reports-from-your-application.aspx
https://stackoverflow.com/questions/26943250
复制相似问题