当前位置:编程学习 > C#/ASP.NET >>

合并两个Datatable

有两个Datatable分别为dt1和dt2其中的数据结构完全相同,请问用什么办法合并比较好啊,谢谢! --------------------编程问答-------------------- ImportRow(DataRow) --------------------编程问答-------------------- 参见:
.NET Framework 类库  
DataTable.Merge 方法  
将指定的 DataTable 与当前的 DataTable 合并。 --------------------编程问答-------------------- dt1.Merge(dt2); --------------------编程问答-------------------- 楼主可以参见如下MSDN的例子,以便应用Merge的方法:
private static void DemonstrateMergeTable()
{
DataTable table1 = new DataTable("Items");

// Add columns
DataColumn column1 = new DataColumn("id", typeof(System.Int32));
DataColumn column2 = new DataColumn("item", typeof(System.Int32));
table1.Columns.Add(column1);
table1.Columns.Add(column2);

// Set the primary key column.
table1.PrimaryKey = new DataColumn[] { column1 };

// Add RowChanged event handler for the table.
table1.RowChanged +=
new System.Data.DataRowChangeEventHandler(Row_Changed);

// Add some rows.
DataRow row;
for (int i = 0; i <= 3; i++)
{
row = table1.NewRow();
row["id"] = i;
row["item"] = i;
table1.Rows.Add(row);
}

// Accept changes.
table1.AcceptChanges();
PrintValues(table1, "Original values");

// Create a second DataTable identical to the first.
DataTable table2 = table1.Clone();

// Add three rows. Note that the id column can't be the 
// same as existing rows in the original table.
row = table2.NewRow();
row["id"] = 14;
row["item"] = 774;
table2.Rows.Add(row);

row = table2.NewRow();
row["id"] = 12;
row["item"] = 555;
table2.Rows.Add(row);

row = table2.NewRow();
row["id"] = 13;
row["item"] = 665;
table2.Rows.Add(row);

// Merge table2 into the table1.
Console.WriteLine("Merging");
table1.Merge(table2);
PrintValues(table1, "Merged With table1");

}

private static void Row_Changed(object sender,
DataRowChangeEventArgs e)
{
Console.WriteLine("Row changed {0}\t{1}",
e.Action, e.Row.ItemArray[0]);
}

private static void PrintValues(DataTable table, string label)
{
// Display the values in the supplied DataTable:
Console.WriteLine(label);
foreach (DataRow row in table.Rows)
{
foreach (DataColumn col in table.Columns)
{
Console.Write("\t " + row[col].ToString());
}
Console.WriteLine();
}
} --------------------编程问答-------------------- Merge --------------------编程问答-------------------- DataTable.Merge方法 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
using System;
using System.Data;
class Test
{

    static void Main()
    {
        DataTable table = new DataTable();
        table.Columns.Add("num", typeof(int));
        table.Rows.Add(10);
        table.Rows.Add(20);


        DataTable table2 = new DataTable();
        table2.Columns.Add("num", typeof(int));
        table2.Rows.Add(10);
        table2.Rows.Add(50);


        int max = GetMaxNumber(table, table2);
        Console.WriteLine(max);//50
        Console.ReadLine();
        

    }
    static int GetMaxNumber(DataTable tb1, DataTable tb2)
    {
        tb1.Merge(tb2);
        int maxnum = 0;
        foreach (DataRow row in tb1.Rows)
        {
            int tmp = Convert.ToInt32(row[0]);
            if (maxnum >= tmp)
            {
                continue;
            }
            maxnum = tmp;
        }
        return maxnum;

    }
}
--------------------编程问答--------------------
引用 2 楼 hbxtlhx 的回复:
参见:
.NET   Framework   类库    
DataTable.Merge   方法    
将指定的   DataTable   与当前的   DataTable   合并。

   这个就行
http://msdn.microsoft.com/zh-cn/library/wkk7s5zk(VS.80).aspx
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,