本地报表处理过程中出错-C#Windows窗体VS2010

本地报表处理过程中出错-C#Windows窗体VS2010,c#,visual-studio-2010,sql-server-2008,reporting-services,windows-forms-designer,C#,Visual Studio 2010,Sql Server 2008,Reporting Services,Windows Forms Designer,我正试图在客户端模式下使用SQLServer Reporting Services,但有些可疑之处。 我在数据库“IEPL\u考勤\u DB”中有两个表: 雇员(EmployeeID,EmployeeName)和EmployeeTimeIn(EID,Time,Date,StateFlag) 我想以Windows窗体(VisualStudio2010中的C#)显示报告。报告应为以下查询的结果: select e1.EID,e.EmployeeName,convert(varchar(5),SUM(

我正试图在客户端模式下使用SQLServer Reporting Services,但有些可疑之处。 我在数据库“IEPL\u考勤\u DB”中有两个表: 雇员(EmployeeID,EmployeeName)和EmployeeTimeIn(EID,Time,Date,StateFlag) 我想以Windows窗体(VisualStudio2010中的C#)显示报告。报告应为以下查询的结果:

select e1.EID,e.EmployeeName,convert(varchar(5),SUM(e1.HoursConsumed)/3600)+':'+convert(varchar(5),SUM(e1.HoursConsumed)%3600/60)+':'+convert(varchar(5),(SUM(e1.HoursConsumed)%60)) as workingtime, CONVERT(VARCHAR(10),e1.Date_Ref,111) as Date_Ref
from Employee as e, EmployeeTimeIn as e1
where e.EmployeeID = e1.EID
group by e1.Date_Ref,e1.EID,e.EmployeeName;
我找到了这篇文章:,它解释了创建报告的逐步过程,但当我运行“我的项目”时,我在报告窗口中看到以下错误:
尚未为数据源EmployeeAttendanceReport提供数据源实例

这是我的密码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//Add these to the standard list above
using System.Data.Sql;
using System.Data.SqlClient;
using Microsoft.Reporting.WinForms;

namespace EmployeeManager
{
public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

        //this.reportViewer1.RefreshReport();

        // Set the processing mode for the ReportViewer to Local
        reportViewer1.ProcessingMode = ProcessingMode.Local;

        LocalReport localReport = reportViewer1.LocalReport;
        localReport.ReportPath = @"F:\Muhammad Anees\Time In\WpfApplication1\EmployeeManager\AttendanceReport.rdlc";

        DataSet dataset = new DataSet("EmployeeAttendanceReport");

        // Get the sales order data
        GetCustomerOrders(ref dataset);

        // Create a report data source for the sales order data
        ReportDataSource dsCustomers = new ReportDataSource();
        dsCustomers.Name = "EmployeeAttendanceReport_EmployeeAttendanceReport";
        dsCustomers.Value = dataset.Tables["Employee"];

        localReport.DataSources.Add(dsCustomers);

        // Refresh the report
        reportViewer1.RefreshReport();
    }

    private void GetCustomerOrders(ref DataSet dsNorthwind)
    {
        string sqlCustomerOrders = "SELECT e1.EID"
          + " ,e.EmployeeName"
          + " ,CONVERT(VARCHAR(10),e1.Date_Ref,111) as Date_Ref"
          + " ,convert(varchar(5),SUM(e1.HoursConsumed)/3600)+':'+convert(varchar(5),SUM(e1.HoursConsumed)%3600/60)+':'+convert(varchar(5),(SUM(e1.HoursConsumed)%60)) as workingtime"
          + "  FROM Employee as e, EmployeeTimeIn as e1"
          + "  WHERE e.EmployeeID=e1.EID"
          + "  GROUP BY e1.Date_Ref,e1.EID,e.EmployeeName";

        SqlConnection connection = new
          SqlConnection("Data Source=AZEEMPC; " +
                        "Initial Catalog=IEPL_Attendance_DB; " +
                        "Trusted_Connection = true;");

        SqlCommand command =
            new SqlCommand(sqlCustomerOrders, connection);

        SqlDataAdapter EmployeeAttendanceReportAdapter = new
            SqlDataAdapter(command);

        EmployeeAttendanceReportAdapter.Fill(dsNorthwind, "EmployeeAttendanceReport");

    }
}
}
注:
1.SQL查询工作正常,我可以在SQL server management studio中看到此查询的输出。
2.以下是数据集的属性:


请告知

报告数据源名称与您在
ReportDataSource
类的
name
属性中提供的名称不匹配。该报告正在等待员工的参与报告。您可能希望尝试将代码中的
名称
属性设置更改为:

dsCustomers.Name = "EmployeeAttendanceReport";

我知道已经晚了两年,但我希望这能帮助其他人

我也遇到了同样的问题(本地报表处理期间出错。报表处理期间出错。DatasetName),我发现连接字符串存在问题;我必须从使用windows身份验证切换到sql身份验证,然后我的报告才能工作


显然,报告数据源名称必须与您通过ReportDataSource对象提供的名称相匹配,正如Brian Knight建议的那样

是否应将“EmployeeAttendanceReport\u EmployeeAttendanceReport”替换为“EmployeeAttendanceReport”在设置dsCustomers.Name?的代码的c#部分中,在将名称更正为EmployeeAttendanceReport后,出现了以下错误:
“本地报表处理过程中出错
报表处理过程中出错
EmployeeAttendanceReport”您能看一下我的答案吗?在将名称更正为EmployeeAttendanceReport后,我发现了以下错误:
本地报表处理过程中出现错误
报表处理过程中出现错误
EmployeeAttendanceReport我相信您现在看到报表服务器端出现错误。检查日志中的实际错误。您的.rdl中可能存在问题。谢谢,我在使用SQL身份验证时遇到用户名和密码为空的问题。请帮助我。谢谢帮了我的忙。谢谢@mascab谢谢!我甚至没有得到“DatasetName”,只有前两行。如果它对其他人有帮助:mascab的错误可能是由于共享数据源和共享数据集的共享数据源引起的。我一直在胡思乱想,直到我发现除了主共享源之外,我的共享集的共享源也坏了。我都没有得到这个错误的“DatasetName”部分,所以这个答案和它的注释让我省去了很多麻烦。从TFS工作,因此必须签出每个要编辑的共享数据源,并使用空白凭据打开他们选择了SQL Auth的每个共享数据源。已全部切换回Windows身份验证和报告预览/正常运行。谢谢