Oracle 带登录名的Visual Basic 2012 Call Crystal报表
我刚刚开始使用Visual Studio 2012,从未接受过任何培训,所以请原谅我,这是一个简单/愚蠢的问题 我创建了一个相对简单的程序,用户可以使用它来运行Crystal Reports。他们可以选择自己的部门,并获得可能的报告列表。如果他们点击选择按钮,第二个表单将打开Crystal Report 然而,当出现这种情况时,它要求数据库登录。我在主屏幕中创建了3个变量,保存了数据库名称、用户名和密码,并希望在打开报表时使用这些变量 该报告基于Oracle数据库 保存Crystal文件的表单中包含CrystalReportViewer。在这里,我选择了我的报告 我在网上找到的代码尚未运行,它仍在询问登录详细信息:Oracle 带登录名的Visual Basic 2012 Call Crystal报表,oracle,visual-studio-2012,login,crystal-reports,Oracle,Visual Studio 2012,Login,Crystal Reports,我刚刚开始使用Visual Studio 2012,从未接受过任何培训,所以请原谅我,这是一个简单/愚蠢的问题 我创建了一个相对简单的程序,用户可以使用它来运行Crystal Reports。他们可以选择自己的部门,并获得可能的报告列表。如果他们点击选择按钮,第二个表单将打开Crystal Report 然而,当出现这种情况时,它要求数据库登录。我在主屏幕中创建了3个变量,保存了数据库名称、用户名和密码,并希望在打开报表时使用这些变量 该报告基于Oracle数据库 保存Crystal文件的表单中
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Public Class F_QTS_Al4All
Private Sub configureCRYSTALREPORT()
Dim myConnectionInfo As New ConnectionInfo()
myConnectionInfo.DatabaseName = F_IJ_IE_Internal_Reporting.Login_Database
myConnectionInfo.UserID = F_IJ_IE_Internal_Reporting.Login_Username
myConnectionInfo.Password = F_IJ_IE_Internal_Reporting.Login_Password
setDBLOGONforREPORT(myConnectionInfo)
End Sub
Private Sub setDBLOGONforREPORT(ByVal myconnectioninfo As ConnectionInfo)
Dim mytableloginfos As New TableLogOnInfos()
mytableloginfos = CrystalReportViewer1.LogOnInfo
For Each myTableLogOnInfo As TableLogOnInfo In mytableloginfos
myTableLogOnInfo.ConnectionInfo = myconnectioninfo
Next
End Sub
Private Sub CrystalReportViewer1_Load(sender As Object, e As EventArgs) Handles CrystalReportViewer1.Load
End Sub
End Class
所以我一直在玩,并将myConnectionInfo部分复制到CrystalReportViewer1部分。现在,我得到一个异常,说NullReferenceException是由用户代码导致的未处理异常
我的idea快用完了,你们中有谁知道如何更改为代码,这样它就不再需要凭据了
我也在某个地方读到,我可以将报告源保持为空,但我不知道如果我将报告保持为空,该如何调用它
提前多谢
问候
格本我知道怎么做了。我在主屏幕中创建了另一个名为reportpath的共享变量。当我决定要打电话给哪个报告时,我会填写这个表格。之后,我有以下代码
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Public Class F_Report
Private Sub configureCRYSTALREPORT()
Dim myConnectionInfo As New ConnectionInfo()
myConnectionInfo.DatabaseName = F_IJ_IE_Internal_Reporting.Login_Database
myConnectionInfo.UserID = F_IJ_IE_Internal_Reporting.Login_Username
myConnectionInfo.Password = F_IJ_IE_Internal_Reporting.Login_Password
setDBLOGONforREPORT(myConnectionInfo)
End Sub
Private Sub setDBLOGONforREPORT(ByVal myconnectioninfo As ConnectionInfo)
Dim mytableloginfos As New TableLogOnInfos()
mytableloginfos = CrystalReportViewer1.LogOnInfo
For Each myTableLogOnInfo As TableLogOnInfo In mytableloginfos
myTableLogOnInfo.ConnectionInfo = myconnectioninfo
Next
End Sub
Private Sub CrystalReportViewer1_Load(sender As Object, e As EventArgs) Handles CrystalReportViewer1.Load
CrystalReportViewer1.ReportSource = F_IJ_IE_Internal_Reporting.ReportPath
Dim myConnectionInfo As New ConnectionInfo()
myConnectionInfo.DatabaseName = F_IJ_IE_Internal_Reporting.Login_Database
myConnectionInfo.UserID = F_IJ_IE_Internal_Reporting.Login_Username
myConnectionInfo.Password = F_IJ_IE_Internal_Reporting.Login_Password
setDBLOGONforREPORT(myConnectionInfo)
End Sub
End Class