C# DataRow 比较
/// <summary>/// dataRow比较/// </summary>/// <param name="drA"></param>/// <param name="drB"></param>/// <param name="columnNames">需要比较的列名称</param>/// <returns></returns>public static bool DataRowCompare(DataRow drA, DataRow drB, string[] columnNames){bool flag = false;//DataRow 中需要比较的列排序ColumnSort(drA, columnNames);ColumnSort(drB, columnNames);foreach (DataColumn dcA in drA.Table.Columns){if (columnNames.Contains(dcA.ColumnName)){foreach (DataColumn dcB in drB.Table.Columns){if (columnNames.Contains(dcB.ColumnName)){if (dcB.ColumnName == dcA.ColumnName)//列名比较{//类型比较if (dcB.DataType != dcA.DataType){flag = false;break;}//值比较else if (CompareObject(drA[dcB.ColumnName], drB[dcB.ColumnName])){flag = true;break;}}}}}}return flag;}/// <summary>/// 按照数组中列名顺序排序/// </summary>/// <param name="drA"></param>/// <param name="columnNames">按照数组中列名顺序排序</param>public static void ColumnSort(DataRow drA, string[] columnNames){//drA 排序int i = 0;foreach (string columnName in columnNames){if (drA.Table.Columns.Contains(columnName)){drA.Table.Columns[columnName].SetOrdinal(i);i++;}}}
对象比较方法 CompareObject(object objA, object objB):
C# 对象比较(值类型、引用类型)
深拷贝部分代码:
C# 实体类序列化与反序列化一 (XmlSerializer)
C# 实体类序列化与反序列化二 (DataContractSerializer)
C# DataRow 比较相关推荐
- 获取DataRow某列的值的封装
public class DataHelper { const string DEFSTR = ""; /// <summary> ...
- DataRow的序列化问题
来源:CSDN 作者:kroll 在.net里,DataRow类型的对象是不支持序列化的,那么如果在一个需要序列化的对象中含有DataRow类型的字段该怎么办呢?呵呵,幸好Datatable是支 ...
- 错误 1 “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制...
new DataRow 的方式: DataTable pDataTable = new DataTable();DataRow pRow = new DataRow(); 正确的方式: DataRow ...
- java datarow_DataSet DataTable DataRow 深入浅出
本篇文章适合有一定的基础的人去查看 ,最好学习过一定net 编程基础在来查看此文章. 1.概念 DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖 ...
- DataRow复制一行到另一个DataTable
DataRow复制一行到另一个DataTable 下面两个方法是DataRow复制一行到另一个DataTable的,直接Add会出错"此行已属于另一个表",其实以前就知道怎么做的, ...
- DataTable.DataRow的复制
经常遇到这种错误,"此行已属于另一个表"的错误,导致这个错误的语句如下: dtPriceTable.Rows.InsertAt(aDataRow,i); 或者 dtPriceTab ...
- 对DataSet,DataRow,DateTable转换成相应的模型
/// <summary>/// DataRow 转成 模型/// </summary>/// <typeparam name="T">< ...
- DataTable筛选符合条件的DataRow
得到筛选后的新的DataRow; DataRow[] rows=dt.Select("1=1 and flag <> 1") 清空原DataTable并赋值给新建表 D ...
- datagridview当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
以下是一个网友的问题,我也遇到了,记得在 更新前 Me.Contract_DesDA.Update(Me.ds.Tables("合同内容列表")) 要 Dim cb As Ole ...
- 再不用担心DataRow类型转换和空值了(使用扩展方法解决高频问题)
在使用DataRow读取数据时,通常会遇到数据可能为Null, 但是又需要转换为如int等其它类型的数据,因此就通常会写这样的代码: if (dr[name] != DBNull.Value & ...
最新文章
- powerdesigner逆向工程,从数据库导出PDM
- 【约束布局】ConstraintLayout 约束布局 ( 简介 | 引入依赖 | 基本操作 | 垂直定位约束 | 角度定位约束 | 基线约束 )
- Kubernetes 中创建 Pod 时集群中到底发生了些什么?
- 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架Element
- 那些年伴我一起成长的SAP装备
- linux把硬盘当内存,把内存当硬盘使,让你的linux程序运转如飞(在linux下用firefox在线写csdn的blog再也不卡了)...
- uva10026-鞋匠的难题
- openlayer 图层上下_OpenLayers 3 的图层体系结构
- SAP License:SAP软件功能有哪些?
- 网络蛋白质组学在计算机中应用,Mumford Shah算法研究及其在拓扑蛋白质组学中的应用...
- aix显示服务器ip,AIX系统查看和设置网关和IP配置
- 使用 Kubernetes Ingress 对外暴露服务
- 百度云不限速下载(Windows、Linux、Mac平台)
- 孩子数学成绩不好怎么办_三年级发现孩子数学成绩非常不好,作为家长该怎么办?...
- python保留两位小数_python保留小数位的三种实现方法
- 成语消消乐java代码_成语消消看-4399成语消消看-成语消消看答案大全
- Spring项目启动报Could not resolve placeholder解决
- MySQL中SQL语句——DQL(数据查询语句)
- 如何求出两个整数的最大公约数
- 【Angular】angular2+中没有*ngShow/ng-show,取而代之的是hidden