c#中合并两个数据表
本文关键字:两个 数据表 合并 | 更新日期: 2023-09-27 18:11:32
我有两个数据表如下
Table1
--------------------------------
Id | Batch | Qty
-----------------------------
1 A1 5
2 A2 5
3 A3 5
4 A4 5
Table2
--------------------------------
Id | Batch | Qty
-----------------------------
1 A1 6
2 A2 6
3 A3 6
5 A5 10
Expected result
--------------------------------
Id | Batch | Qty
-----------------------------
1 A1 6 (Qty updated)
2 A2 6 (Qty updated)
3 A3 6 (Qty updated)
4 A4 5 (remains as same)
5 A5 10 (row in table 2)
我如何在c#中实现这一点。如果有人知道这个数据表的操作,请分享给我们。
试试这样做,这是一个如何合并两个数据表的例子…
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataColumn col;
DataTable table1 = new DataTable();
table1.PrimaryKey = new DataColumn[] {
col = table1.Columns.Add("slot_id")
};
col.DataType = typeof(int);
col.Unique = true;
col = table1.Columns.Add("appointment_time");
col = table1.Columns.Add("patient_name");
col = table1.Columns.Add("patient_doctor");
table1.Rows.Add(1, "0900", "George Michael");
DataTable table2 = new DataTable();
table2.PrimaryKey = new DataColumn[] {
col = table2.Columns.Add("slot_id")
};
col.DataType = typeof(int);
col.Unique = true;
col = table2.Columns.Add("appointment_time");
table2.Rows.Add(1, "0900");
table2.Rows.Add(2, "1000");
table2.Rows.Add(3, "1100");
table2.Rows.Add(4, "1200");
DataTable merged = new DataTable();
merged.Merge(table1);
merged.Merge(table2);
foreach (DataColumn dc in merged.Columns)
Console.Write(dc.ColumnName + "'t");
Console.WriteLine();
foreach (DataRow dr in merged.Rows)
{
foreach (DataColumn dc in merged.Columns)
Console.Write(dr[dc.ColumnName] + "'t");
Console.WriteLine();
}
Console.WriteLine();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
Console.WriteLine();
}
}
}