php datatable 值判断,C#_比较2个datatable内容是否相同的方法,DataTable可以通过RowStatus来判断 - phpStudy...

比较2个datatable内容是否相同的方法

DataTable可以通过RowStatus来判断状态是否发生了改变。但是有些时候我们希望在行状态即使为Modified的情况下也不要提示内容发生了变化,这个时候我们可能就需要自己写方法去判断了。比如有一个DataTable中有选择列的状态发生了变化,但是我在保存时不希望系统判断DataTable的行状态发生了变化而将数据重新更新到数据库中。

这样我们可以将需要判断DataTable中那些列变化时才需要保存了。以下是比较2个DataTable的内容是否相同的方法:

///  

///   比较两个DataTable内容是否相等,先是比数量,数量相等就比内容

///  

///  

///  

private bool CompareDataTable(DataTable dtA, DataTable dtB)

{

if (dtA.Rows.Count == dtB.Rows.Count)

{

if (CompareColumn(dtA.Columns, dtB.Columns))

{

//比内容

for (int i = 0; i < dtA.Rows.Count; i++)

{

for (int j = 0; j < dtA.Columns.Count; j++)

{

if (!dtA.Rows[i][j].Equals(dtB.Rows[i][j]))

{

return false;

}

}

}

return true;

}

else

{

return false;

}

}

else

{

return false;

}

}

///  

///   比较两个字段集合是否名称,数据类型一致

///  

///  

///  

///  

private bool CompareColumn(System.Data.DataColumnCollection dcA, System.Data.DataColumnCollection dcB)

{

if (dcA.Count == dcB.Count)

{

foreach (DataColumn dc in dcA)

{

//找相同字段名称

if (dcB.IndexOf(dc.ColumnName) > -1)

{

//测试数据类型

if (dc.DataType != dcB[dcB.IndexOf(dc.ColumnName)].DataType)

{

return false;

}

}

else

{

return false;

}

}

return true;

}

else

{

return false;

}

}相关阅读:

.net全局定时定期执行某些操作在Global.asax中具体实现

探讨:如何通过stats命令分析Memcached的内部状态

Win10零售版怎么关闭自动更新?禁用win10自动更新的两种教程

深入解析Radix Sort基数排序算法思想及C语言实现示例

JS控制文本域只读或可写属性的方法

win8如何设置关闭触摸板?win8.1禁用触摸板教程

MySQL和MongoDB设计实例对比分析

CentOS6中安装配置并使用mutt+msmtp发送邮件

win10升级14905尴尬了:开始键居然无法关机

php单态设计模式(单例模式)实例

php url路由入门实例

Android搜索框组件SearchView的基本使用方法

基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解

纯CSS3实现自定义Tooltip边框涂鸦风格的教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值