求C#绘制datatable表格的循环方法

从数据库读取的三张查询语句得到的表:

 A库    time,id,err     B库   time,id,err     C库   time,id,err
          1:00,1,34                1:00,1,55                1:00,1,88
          2:00,1,38                2:00,1,33                2:00,1,99
          3:00,1,89                3:00,1,43                3:00,1,167

这是三个数据库分别查的

 效果表:   time id  errA errB errC
                 1:00  1    34    55   88
                 2:00  1    38    33   99
                 3:00  1    89    43   167

在后台代码绘制datatable

 DataTable dt = new DataTable("rawData");

            //初始化数据
            //新建行和列
            dt.Columns.Add("Time");
            dt.Columns.Add("ErrA");
            dt.Columns.Add("ErrB");
            dt.Columns.Add("ErrC");

            dt.Rows.Add("", "",0, 0, 0);
            dt.Rows.Add("", "",0, 0, 0);
            dt.Rows.Add("", "",0, 0, 0);

接下来要用循环语句把数据一个一个加进datatable表内,好像是用foreach语句不太会写,要和效果表一样的那个,跪求大神

3库一一对应

DataTable dt = new DataTable("rawData");
//初始化数据
//新建行和列
dt.Columns.Add("Time");
dt.Columns.Add("ErrA");
dt.Columns.Add("ErrB");
dt.Columns.Add("ErrC");
dt.Columns.Add("id");//id不要丢啊

            //A B C三库 是你已经得到的
            DataTable a = new DataTable();
            DataTable b = new DataTable();
            DataTable c = new DataTable();

            //循环A库  循环一条A 找B和C  再插入到结果表里
            foreach (DataRow drA in a.Rows)
            {
                //先得到B库和C库的err
                DataRow drB = b.Select("id=" + drA["id"] + " and time=" + drA["time"])[0];
                DataRow drC = b.Select("id=" + drA["id"] + " and time=" + drA["time"])[0];
                //新建一行
                DataRow dr = dt.NewRow();
                //赋值
                dr["Time"] = drA["time"];
                dr["ErrA"] = drA["err"];
                dr["ErrB"] = drB["err"];
                dr["ErrC"] = drC["err"];
                dr["id"] = drA["id"];
                //构造完dr后  插入dt
                dt.Rows.Add(dr);
            }

图片说明

DataTable dt = new DataTable("rawData");

            //初始化数据
            //新建行和列
            dt.Columns.Add("Time");
            dt.Columns.Add("ErrA");
            dt.Columns.Add("ErrB");
            dt.Columns.Add("ErrC");
            dt.Columns.Add("id");//id不要丢啊

            //三表联合查询:效果表dtSearch
            DataTable dtSearch = new DataTable();

            //time id  errA errB errC
            // 1:00  1    34    55   88
            // 2:00  1    38    33   99
            // 3:00  1    89    43   167

            //循环上面效果表的dt,往新表里插入
            foreach (DataRow drResult in dtSearch.Rows)
            {
                //新建一行
                DataRow dr = dt.NewRow();
                //赋值
                dr["Time"] = drResult["time"];
                dr["ErrA"] = drResult["errA"];
                dr["ErrB"] = drResult["errB"];
                dr["ErrC"] = drResult["errC"];
                dr["id"] = drResult["id"];
                //构造完dr后  插入dt
                dt.Rows.Add(dr);
            }

图片说明