C# 显示来自多个数据表的crystal报告

C# 显示来自多个数据表的crystal报告,c#,asp.net,crystal-reports,C#,Asp.net,Crystal Reports,我有这个问题已经有一段时间了。 我创建了一个存储过程,从该过程返回多个datatable select name,address from table1, select office,officeaddress from table2 我从project explorer创建了一个数据集。 我添加了一个数据表。命名它,并用下面的过程返回的所有值的名称填充该列 name,address,office,officeaddress 我从ProjectExplorer创建了一个crystal报告,并

我有这个问题已经有一段时间了。 我创建了一个存储过程,从该过程返回多个datatable

select name,address from table1,
select office,officeaddress from table2
我从project explorer创建了一个数据集。 我添加了一个数据表。命名它,并用下面的过程返回的所有值的名称填充该列

name,address,office,officeaddress
我从ProjectExplorer创建了一个crystal报告,并用DatabaseExpert的表填充它。但是crystal报告没有显示任何值

是否可以像上面的场景那样显示报告?填写报告的代码如下所示

string s = ConfigurationManager.ConnectionStrings["testConnString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(s))
using (SqlCommand cmd = new SqlCommand("sp_getConfigurationReport", conn))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(new SqlParameter("@cashsafeid", 3));
        conn.Open();
        //SqlDataReader dr = cmd.ExecuteReader();
        dsConfiguration = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = cmd;

        da.Fill(dsConfiguration);

    }
 ReportDocument rDoc = new ReportDocument();
 rDoc.Load(Server.MapPath("~/Report/ConfigurationReport.rpt"));
 rDoc.SetDataSource(dsConfiguration);
 EODReport.ReportSource = rDoc;

您可以交换设置数据源和加载报告的两条语句。请尝试先设置数据源,然后引导报告。我编写的示例是一个演示示例。由于有太多select语句交换将非常复杂,是否有任何方法可以以上述方式显示报告。请尝试将代码更改为ReportDocument rDoc=new ReportDocument();设置数据源(dsConfiguration);EODReport.ReportSource=rDoc;Load(Server.MapPath(“~/Report/ConfigurationReport.rpt”);这里我的疑问是,我们如何将从过程中检索到的数据集链接到报告中使用的数据表。