我使用SQL Server Business Intelligence Development Studio 2008 R2创建了一个rdl报告。
我使用了一个简单的查询
Select top 10 id from login_user where client_id =3
并且预览显示如下数据
然后我用报表查看器和命令按钮创建一个c#窗口应用程序。 点击按钮我写了下面的代码
SqlConnection conn = new SqlConnection(connstring);
DataSet dataset = new DataSet();
conn.Open();
sqlcomm = new SqlCommand("Select top 10 id from login_user where client_id = "+ 32, conn);
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlcomm);
dataAdapter.Fill(dataset);
this.reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\Report1.rdl";
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("TotalSale", dataset.Tables[0]));
this.reportViewer1.RefreshReport();
它已成功执行,但报告查看器未显示正在发送消息的报告
尚未为数据源提供数据源实例
这是因为我正在使用.rdl?只有rdlc与.net一起工作?我被困在这里。
答案 0 :(得分:5)
在这一行
this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("TotalSale", dataset.Tables[0]));
替换" TotalSale"使用" DatSet1"
因为报表中的数据集名称是DataSet1。