我创建了一个水晶报告(交叉表)。我没有使用任何数据集,而是使用水晶报表中的向导从我的数据库架构中调用过程
(给出的提供程序是 Oracle 的 Microsoft OLEDB 提供程序,之后我提供了我的数据库凭据(即架构、用户名、密码)并选择了过程并选择了我想要在报告中显示的列)。
我需要从前端传递 5 个参数来生成报告。在查看水晶报表预览时,通过给出参数,报表可以正常工作。
现在我想从前端(vb.net)传递这5个参数以在CrystalReportViewer中显示报表。请建议在 aspx.vb 文件中编写的代码。
(PS:-我确实浏览了其他论坛并找到了一些代码,但它们都给出了一些或其他错误,所以我发布一个以便我可以获得特定于我的要求的代码)。
提前致谢..
我已经拿到报告了...
我写了下面的代码:
Dim RptDocument As New ReportDocument
RptDocument.Load(Server.MapPath("rpt\Report.rpt"))
RptDocument.SetParameterValue("param1", Session("param1"))
RptDocument.SetParameterValue("param2", ddlparam2.SelectedValue)
RptDocument.SetParameterValue("param3", param3.text)
RptDocument.SetParameterValue("param4", param4.text)
RptDocument.SetParameterValue("param5", param5.text)
'Set login info
Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo
Dim myTable As Table
For Each myTable In RptDocument.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.ServerName = "server name"
myLogin.ConnectionInfo.DatabaseName = ""
myLogin.ConnectionInfo.UserID = "userid"
myLogin.ConnectionInfo.Password = "pwd"
myTable.ApplyLogOnInfo(myLogin)
myTable.Location = myTable.Location
CrystalReportViewer1.ReportSource = RptDocument
创建了系统 DNS 并必须添加Oracle.DataAccess.dll
引用和类文件(其功能与 connectooracle.vb 类文件中的功能相同,但名称不同),还在 global.asax 中设置一个连接以引用该类连接并使用Imports Oracle.DataAccess.Client
代替Imports System.Data.OracleClient
(为了避免歧义)...
这在某种程度上使它起作用,并且可能还有其他解决方案......:)
(For ref:- Adding myLogin.ConnectionInfo.IntegratedSecurity = True gave me this error--
Logon failed. Error in File C:\DOCUME~1\Username\LOCALS~1\Temp\Report {1AG3DD86-141D-43YA-B6A2-AEDF3459AE49}.rpt: Unable to connect: incorrect log on parameters.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)