【发布时间】:2014-12-04 08:24:51
【问题描述】:
在 SQL Server 报表生成器中创建了一个报表。都好!试图将其引入ReportViewer,但写入错误
尚未为数据源“DataSet1”设置数据源的实例。
代码:
private void button1_Click(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportPath = @"C:\MyReport.rdl";
reportViewer1.ProcessingMode = ProcessingMode.Local;
ReportParameter rp = new ReportParameter("code","100");
reportViewer1.LocalReport.SetParameters(rp);
this.reportViewer1.RefreshReport();
}
reportViewer1.LocalReport.DataSources 为空。为什么?在报表生成器中一切正常
XMLMyReport
<DataSources>
<DataSource Name="NL">
<ConnectionProperties>
<DataProvider>SQL</DataProvider>
<ConnectString>Data Source=ACH\SQLEXPRESS;Initial Catalog=NL</ConnectString>
</ConnectionProperties>
<rd:SecurityType>DataBase</rd:SecurityType>
<rd:DataSourceID>629e3b49-aebf-48dc-bb89-f47956feaef8</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>NL</DataSourceName>
<QueryParameters>
<QueryParameter Name="@code">
<Value>=Parameters!code.Value</Value>
</QueryParameter>
</QueryParameters>
<CommandText>SELECT
window.code
,window.window
,window.[user]
FROM
window
WHERE
window.code < @code</CommandText>
【问题讨论】:
-
.rdl是您报告的服务器端 格式 - 如果您想在本地运行,使用LocalReport,您需要一个.rdlc文件和您还需要在本地定义数据库连接 - 服务器上的那些对您没有任何好处... -
所以我们必须使用组件reportViewer1.ServerReport?本地生成.rdl是不可能的,需要编程设置DataSource吗?
标签: c# sql-server reporting-services rdlc rdl