来自一个矩阵中的2个数据集的字段

时间:2014-01-13 11:27:26

标签: c# sql visual-studio reporting-services dataset

我有3个数据集,我可以从我的rdlc报告中获取数据。问题是,我需要将来自2个数据集的数据显示到一个表或矩阵中。我已经在我需要数据的两个表上有一个连接/关系,但是我无法添加第二个数据集的列。我该怎么做?

我显示数据的查询如下所示:

    private DataTable getData(string invoiceNo)
    {

        DataTable dtable = new DataTable();
        dtable.TableName = "dtNewDataSet_Table";
        string sql = "";
        sql = "SELECT * FROM [SOS].[dbo].[StockControlOrderNumbers] SON " +
              "LEFT JOIN [dbo].[StockControlOrders] SCO " +
              "on SON.StockControlOrderRef = SCO.ID " +
              "LEFT JOIN [dbo].[StockControlBaseStock] BS " +
               "on SCO.VendorNo = BS.VendorNo " +
              "WHERE [OrderNo] = '" + orderNo + "'"; 

        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(dtable);
        DataTable dt = dtable;
        return dt;
    }

矩阵只有3列 - 供应商,描述(这两个来自StockControlBaseStock)和orderQty(来自StockControlOrders)。供应商和描述显示在矩阵中,但我需要显示该项目的OrderQty ....有关如何执行此操作的任何想法?这两个表与vendorNo ....

连接在一起

1 个答案:

答案 0 :(得分:2)

您在谈论.Net DataSet和DataTable对象吗?您是从RDLC还是从SQL查询获取数据?

假设您已将数据查询到两个数据表中,您可以执行以下操作:

  • 将两个数据表放入数据集
  • 添加DataSet.Relation以在两者上创建Primary和Foriegn键 数据表
  • 遍历表格以获取已加入的列,或使用数据 表格视图

http://msdn.microsoft.com/en-us/library/aeskbwf7(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/ay82azad(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/system.data.dataset.relations(v=vs.110).aspx