连接到本地 .rdl 报告的问题。
Issues connecting to local .rdl report.
现在我一直在寻找相同问题的答案,但 none 确实解决了问题或包含足够的信息来澄清一些信息。
现在,我首先创建了一个连接到访问数据库的 .rdl 报告。到目前为止一切都很好。现在我想在没有服务器(本地)的情况下将它与我的软件连接起来查找代码,最接近我工作的是:
Private Sub GenerateLocalReport()
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "D:\work\OrdersInvoice\ReportInvoice\ReportInvoice\OrdersReport.rdl"
reportViewer.RefreshReport()
ReportViewer1.RefreshReport()
End Sub
现在的问题是上面的代码不起作用。我收到以下消息:尚未为数据源提供数据源实例。
通过搜索我发现我需要添加一些东西作为数据绑定。现在这里是混乱的开始。
Dim ds = New ReportDataSource("DataSet1",???)
reportViewer1.LocalReport.DataSources.Add(ds)
这是我能得到的最直接的代码。但是我不知道绑定数据源是什么意思。我试图在程序中创建一个数据源,但它不是真正的答案。我有点迷路了。
我发现的另一个应该做同样事情的代码是:
ReportViewer1.LocalReport.DataSources.Add(TempDBDataSet.OrderTableDataTable
同样的问题
用 C# 或 VB.net 回答都可以。
我相信我在反复试验后解决了这个问题。首先是我使用的代码:
Dim dataset As New DataSet("DataSet1")
Dim Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TempDB.mdb;User Id=admin;
Password=;")
Dim Adb As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("Select * from OrderTable", Conn)
Adb.Fill(dataset)
Dim rds As New ReportDataSource()
rds.Name = "DataSet1"
rds.Value = dataset.Tables(0)
ReportViewer1.LocalReport.DataSources.Add(rds)
所以我所做的是连接到连接到报告的数据库,然后将数据库中的数据填充到我的数据集,用它来访问我最终引用的 table对于 ReportDataSource。
之后效果很好。
Reporting Services 文件有两种类型:RDL 和 RDLC。
两者的功能非常相似。
RDL 文件旨在 运行 报告服务器上,服务器负责根据报告中提供的连接信息创建和填充数据源。
RDLC 文件旨在使用报表查看器控件嵌入到您的客户端应用程序中,无需服务器。您还必须在客户端应用程序中手动连接并填充数据源(就像您在回答中所做的那样)。
现在我一直在寻找相同问题的答案,但 none 确实解决了问题或包含足够的信息来澄清一些信息。
现在,我首先创建了一个连接到访问数据库的 .rdl 报告。到目前为止一切都很好。现在我想在没有服务器(本地)的情况下将它与我的软件连接起来查找代码,最接近我工作的是:
Private Sub GenerateLocalReport()
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "D:\work\OrdersInvoice\ReportInvoice\ReportInvoice\OrdersReport.rdl"
reportViewer.RefreshReport()
ReportViewer1.RefreshReport()
End Sub
现在的问题是上面的代码不起作用。我收到以下消息:尚未为数据源提供数据源实例。
通过搜索我发现我需要添加一些东西作为数据绑定。现在这里是混乱的开始。
Dim ds = New ReportDataSource("DataSet1",???)
reportViewer1.LocalReport.DataSources.Add(ds)
这是我能得到的最直接的代码。但是我不知道绑定数据源是什么意思。我试图在程序中创建一个数据源,但它不是真正的答案。我有点迷路了。
我发现的另一个应该做同样事情的代码是:
ReportViewer1.LocalReport.DataSources.Add(TempDBDataSet.OrderTableDataTable
同样的问题
用 C# 或 VB.net 回答都可以。
我相信我在反复试验后解决了这个问题。首先是我使用的代码:
Dim dataset As New DataSet("DataSet1")
Dim Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\TempDB.mdb;User Id=admin;
Password=;")
Dim Adb As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("Select * from OrderTable", Conn)
Adb.Fill(dataset)
Dim rds As New ReportDataSource()
rds.Name = "DataSet1"
rds.Value = dataset.Tables(0)
ReportViewer1.LocalReport.DataSources.Add(rds)
所以我所做的是连接到连接到报告的数据库,然后将数据库中的数据填充到我的数据集,用它来访问我最终引用的 table对于 ReportDataSource。
之后效果很好。
Reporting Services 文件有两种类型:RDL 和 RDLC。
两者的功能非常相似。
RDL 文件旨在 运行 报告服务器上,服务器负责根据报告中提供的连接信息创建和填充数据源。
RDLC 文件旨在使用报表查看器控件嵌入到您的客户端应用程序中,无需服务器。您还必须在客户端应用程序中手动连接并填充数据源(就像您在回答中所做的那样)。