得到两个DataTable
第一个:
车次ID   车次号  终点站  发车时间  坐席总数  剩余座席数   异地订票座席数第二个:
车次ID  车次号    异地已订数如果两个表格车次ID相同  则把两个表合并成Table1的所有列+Table2的异地已订数新的表格

解决方案 »

  1.   

    使用DataTable.Merger就可以了。比如:DataTable dt1 = new DataTable();
    dt1.Columns.Add("ID", typeof(int));
    dt1.Columns.Add("Name", typeof(string));
    dt1.PrimaryKey = new DataColumn[] { dt1.Columns[0] };
    dt1.Rows.Add(1, "Age");
    dt1.Rows.Add(2, "Apple");
    dt1.Rows.Add(3, "Orange");DataTable dt2 = new DataTable();
    dt2.Columns.Add("ID", typeof(int));
    dt2.Columns.Add("Price", typeof(decimal));
    //dt2.PrimaryKey = new DataColumn[] { dt2.Columns[0] };
    dt2.Rows.Add(1, 10);
    dt2.Rows.Add(2, 6);
    dt2.Rows.Add(3, 7);
    DataTable dt3 = dt1.Copy();
    dt3.Merge(dt2);
      

  2.   

    select a.车次ID,a.车次号,a.终点站,a.发车时间,a.坐席总数,a.剩余座席数,a.异地订票座席数,b.异地已订数  from table1 a,table2 b where a.车次ID = b.车次ID
      

  3.   


    dt3.Merge(dt2);是个方法 调用之后再怎么用?
      

  4.   

    sql联接或者通过程序对DataTable操作
      

  5.   

    遍历dt1,在dt2中查询信息,如果有记录,添加新列
    dt1.Columns.Add("",typeof(int)); 添加 异地已订数
      

  6.   

    你可以使用DataView过虑你的数据。
    实在不行就遍历操作了。
      

  7.   

    能不能qq请教前辈?363040367    3Q
      

  8.   


    表一: 车次id  车次号 
    DataTable dtBefore = ydcp.getData(txtCC.Text.Trim(), dtStart.Value, dtEnd.Value);
    表二: 车次id  发车时间
    组合后字段:车次id 车次号 发车时间
    DataTable dt = bcc.Qry(txtCC.Text.Trim(), true, dtStart.Value, dtEnd.Value, Pub.YDDPConnectionstring);
    DataTable dtClone = dtBefore.Clone();
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    if (dtClone.Columns.Contains(dt.Columns[i].ColumnName) == false)
                    {
                        DataColumn c = new DataColumn(dt.Columns[i].ColumnName);
                        dtClone.Columns.Add(c);
                    }
                }
                if (dt.Rows.Count == 0)
                {
                    return;
                }
    if (dtBefore.Rows.Count != dt.Rows.Count)
                {
                    for (int i = 0; i < dtBefore.Rows.Count; i++)
                    {
                        for (int j = 0; j < dt.Rows.Count; j++)
                        {
                            if (dtBefore.Rows[i]["id"].ToString() == dt.Rows[j]["id"].ToString())
                            {
                                DataRow dr = dtClone.NewRow();
                                dr["id"] = dtBefore.Rows[i]["id"].ToString();
                                dr["chech"] = dtBefore.Rows[i]["chech"].ToString();
                                dr["ftime"] = dt.Rows[j]["ftime"].ToString();
                                dtClone.Rows.Add(dr);
                            }
                        }
                    }
                }然后直接把dtClone赋值给数据源