zoukankan      html  css  js  c++  java
  • C#/.NET 条件合并两个DataTable

    //先得到两个DataTable
    DataTable DataTable1 = SqlHelper.GetDataTable("select convert(char(5),id) As 'id' ,num from testSum");
    DataTable DataTable2 = SqlHelper.GetDataTable("select '统计',Sum(num) from testSum");
    //复制新建一个新的DataTable
    DataTable newDataTable = DataTable1.Clone();
    
    //将DataTable1的数据加入到新的DataTable中 
    object[] obj = new object[newDataTable.Columns.Count];
    for (int i = 0; i < DataTable1.Rows.Count; i++)
    {
        DataTable1.Rows[i].ItemArray.CopyTo(obj, 0);
        newDataTable.Rows.Add(obj);
    }
    //将DataTable2的数据加入到新的DataTable中
    for (int i = 0; i < DataTable2.Rows.Count; i++)
    {
        DataTable2.Rows[i].ItemArray.CopyTo(obj, 0);
        newDataTable.Rows.Add(obj);
    }
    //显示到GridView中
    GridView1.DataSource = newDataTable;
    GridView1.DataBind();

    下边的话是我在项目中实用到的例子:

            DataTable DtRegister = GetRegister("select * from registration",mysqlConnString).Tables[0];
            DataTable DtSource = bll.GetList3(strWhere).Tables[0];
            DataTable result = DtSource.Clone();
            int i = 0;
            object[] obj=new object[DtSource.Columns.Count];
            foreach (DataRow dataRow1 in DtSource.Rows)
            { 
                foreach (DataRow dataRow2 in DtRegister.Rows)
                {
                    if(dataRow1["HKID"].ToString().Equals(dataRow2["regist_number"].ToString()))
                    {
                       DtSource.Rows[i].ItemArray.CopyTo(obj,0);
                        result.Rows.Add(obj);
                        i++; 
                    }
                }
            }


  • 相关阅读:
    接水问题
    几种走法
    过河卒

    计数问题
    Java和C或C++的数据类型对照表
    记一次在家办公远程公司数据库的解决方案
    java nio 笔记
    mysql绿色版安装 遇到的问题
    mysql绿色版安装
  • 原文地址:https://www.cnblogs.com/kangzi/p/4127064.html
Copyright © 2011-2022 走看看