子报表无法提取数据

时间:2016-08-18 07:42:52

标签: c# mysql crystal-reports

我有三个表:A,B和C.A有设备信息,其中column1是主键。 C列出了部件及其详细信息,相应的部件ID作为column1中的主键。 B将C.column1中选定的PK ID与来自A.column1的相应PK保存到与设备链接的部分。

我正在制作一份报告,其中列出了A中的设备,其中所有部件的子报告都链接到来自C的每台设备。

我的数据集1有两个从MySQL中提取的tableAdaptors - 一个列出设备,另一个列出部分。如果我预览两个tableAdaptors,我会得到我想要的信息。 (我使用一个数据集作为信息,因为它链接到一个报告。)我在主报告上的数据是通过列出设备,但我的子报告是空的。如何获取子报告以显示数据?

我已经设置了一个链接,其中来自A的PK链接到C的PK。设置链接的报告的配置部分(子报告链接)确实获取了3个表之间的关系。当我运行报告时,子报告不会提取数据。

添加了信息(对于迟到的回复感到抱歉,有randsomeware要处理,哈哈):

这是我的DataSet目前,我确实将两个表格分别与TableAdaptor分开,然后将其合并为一个以查看它是否会产生影响:

enter image description here

在这里,我们的主要报告是什么样的,您可以看到添加子报告的位置(用红色标出名称):

enter image description here

这是我在按钮的“点击”功能上加载的当前代码:

//Create SQL connection
        SqlConnection SQLConnect = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLConnectionString"].ConnectionString);
        SqlCommand SQLEquipLinkedReport = SQLConnect.CreateCommand();
        SQLEquipLinkedReport.CommandText = "EXECUTE EquipmentListDataSet";

        try
        {
            //Pull info from DB
            SQLConnect.Open();
            SqlDataAdapter myEquipLinkedDA = new SqlDataAdapter(SQLEquipLinkedReport);
            EquipmentListDataSet EquipLinkedDS = new EquipmentListDataSet();
            //Dump info in DataSet
            myEquipLinkedDA.Fill(EquipLinkedDS, "EquipmentListDataSet");
            SQLConnect.Close();
            //Call report and fill it with the DB info
            EquipmentLinkedDetails myEquipRPT = new EquipmentLinkedDetails();
            myEquipRPT.SetDataSource(EquipLinkedDS);
            ReportViewerLinkedParts.ReportSource = myEquipRPT;


        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

0 个答案:

没有答案