合并两个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;
}
}
这个就行
http://msdn.microsoft.com/zh-cn/library/wkk7s5zk(VS.80).aspx
补充:.NET技术 , ASP.NET