using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
private static void PrintValues(DataTable table)
{
string label = table.TableName;
Console.WriteLine("TableName: " + table.TableName); foreach (DataColumn column in table.Columns)
{
Console.Write("\t " + column.ColumnName);
}
Console.WriteLine();
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Console.Write("\t |{0}|", row[column]);
}
Console.WriteLine();
}
}
static void Main(string[] args)
{
DataTable dtWs = new DataTable("dtWs");
//DataColumn dcWsWId = new DataColumn("WID", Type.GetType("System.Int32"));//“System.Data.DataException”类型的未经处理的异常在 System.Data.dll 中发生其他信息: < target >.WID 和<source>.WID 擁有衝突的屬性: DataType 屬性不符。
DataColumn dcWsWId = new DataColumn("WID", Type.GetType("System.String"));
DataColumn dcWsFId = new DataColumn("FID", Type.GetType("System.String"));
DataColumn dcBNId = new DataColumn("ADD", Type.GetType("System.String"));
dtWs.Columns.Add(dcWsWId);
dtWs.Columns.Add(dcWsFId);
dtWs.Columns.Add(dcBNId);
dtWs.PrimaryKey = new DataColumn[] { dcWsWId, dcWsFId };
for (int i = ; i < ; i++)
{
DataRow drNew = dtWs.NewRow();
drNew["WID"] = i;
drNew["FID"] = "";
drNew["ADD"] = "BBBB" + i;
dtWs.Rows.Add(drNew);
}
PrintValues(dtWs); DataTable dtQry = new DataTable("dtQry");
DataColumn dcWId = new DataColumn("WID", Type.GetType("System.String"));
DataColumn dcFId = new DataColumn("FID", Type.GetType("System.String"));
DataColumn dcNId = new DataColumn("Name", Type.GetType("System.String"));
dtQry.Columns.Add(dcWId);
dtQry.Columns.Add(dcFId);
dtQry.Columns.Add(dcNId);
dtQry.PrimaryKey = new DataColumn[] { dcWId, dcFId };
for (int i = ; i < ; i++)
{
DataRow drNew = dtQry.NewRow();
drNew["WID"] = i;
drNew["FID"] = "";
drNew["Name"] = "AAAA" + i;
dtQry.Rows.Add(drNew);
}
PrintValues(dtQry); dtQry.Merge(dtWs, true, MissingSchemaAction.AddWithKey);
PrintValues(dtQry); dtQry.Merge(dtWs, false, MissingSchemaAction.AddWithKey);
PrintValues(dtQry); Console.Read();
}
}
}

執行結果:

DataTable的Merge使用的更多相关文章

  1. DataTable的Merge\COPY\AcceptChange使用说明

    在C#内使用DataTable的Merge().Copy().AcceptChange().Clone()方法的用途如下: 1.Merge()可将两个不同的表结构的表进行合并,合并后新表的列为之前两表 ...

  2. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  3. .NET软件工程师面试总结

    1.手写画出系统架构图,系统代码架构,有什么技术难点?  2.手写画出系统部署图 CDN(一般购买别人的服务器会自动CDN,他们自己配置就OK啦) 3.asp.net 的session怎么实现会话共享 ...

  4. C#中的DataTable简单使用Merge

    //不同结构的DataTable追加第二个DataTable数据在对应行后的 简单使用//不同结构的DataTable追加在行后面的合并 DataTable dt = new DataTable(); ...

  5. DataTable 设置primarykey 后进行 Merge操作

    1.先查看概念 可以看highplayer博客 http://blog.csdn.net/highplayer/article/details/6613817 2. protected void st ...

  6. 【转载】C#的Merge方法合并两个DataTable对象的数据

    在C#中的Datatable类中,可以使用DataTable类的Merge方法对两个相同结构的DataTable对象进行求并集运算,将两个DataTable对象的数据行合并到其中一个DataTable ...

  7. C# DataTable的詳細用法

    转载别人的转载,原作者都不知道了 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一 ...

  8. 取两个DataTable的交集,删除重复数据

    /// <summary> /// 取两个DataTable的交集,删除重复数据 /// </summary> /// <param name="sourceD ...

  9. DataTable汇总

    一.排序 1 获取DataTable的默认视图 2 对视图设置排序表达式 3 用排序后的视图导出的新DataTable替换就DataTable (Asc升序可省略,多列排序用"," ...

随机推荐

  1. Android Studio导入GitHub上的项目常见问题(有例子)

    前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...

  2. postgresql downgrade issue

    Q: Dear Support Team, If we use ubuntu server to install postgresql9.4, how can we keep original dat ...

  3. 018. ADO.NET _DataSet_DataAdapter

    DataSet对象是支持ADO.NET的断开式或分布式数据方案的核心对象; DataAdapter对象是一种用来充当DataSet对象与实际数据源之间的桥梁 的对象, 所以二者结合访问数据库中数据模式 ...

  4. shell算术运算与进制运算

    (())与let是等效的 arithmetic expression type 与[是等效的 source与.是等效的 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“b ...

  5. 常用邮件 smtp pop

    常用的邮箱服务器(SMTP.POP3)地址.端口  sina.com: POP3服务器地址:pop3.sina.com.cn(端口:110) SMTP服务器地址:smtp.sina.com.cn(端口 ...

  6. jquery点击改变class并toggle

    <html> <head> <meta charset="utf-8"> <title></title> <scr ...

  7. java连接SQLserver

    1.pom.xml添加: <dependency>            <groupId>com.hynnet</groupId>            < ...

  8. Android Studio--学习系列(1)

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...

  9. [oracle] ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    ORACLE 32位数据库正常安装,sqlplus 正常连接数据库但是PL/SQL developer 64位却报出这个错误. 第一反应是缺少32位客户端.下载安装,配置完成后如图所示: 还是报这个错 ...

  10. mui中的关闭页面的几种方法

    一.总结: mui中关闭当前页面的几种方式: 1.swipeBack(暂未测试过) 2.keyEventBind(暂未测试过) 3.给标签的class加.mui-action-back(返回的是前一个 ...