关键词搜索

源码搜索 ×
×

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

发布2015-06-03浏览1635次

详情内容

  1. #region 比较两个DataTable内容是否相等,先是比数量,数量相等就比内容
  2. /// <summary>
  3. /// 比较两个DataTable内容是否相等,先是比数量,数量相等就比内容
  4. /// </summary>
  5. /// <param name= "dtA "> </param>
  6. /// <param name= "dtB "> </param>
  7. public static bool CompareDataTable(DataTable dtA, DataTable dtB)
  8. {
  9. if (dtA.Rows.Count == dtB.Rows.Count)
  10. {
  11. if (CompareColumn(dtA.Columns, dtB.Columns))
  12. {
  13. //比内容
  14. for (int i = 0; i < dtA.Rows.Count; i++)
  15. {
  16. for (int j = 0; j < dtA.Columns.Count; j++)
  17. {
  18. if (!dtA.Rows[i][j].Equals(dtB.Rows[i][j]))
  19. {
  20. return false;
  21. }
  22. }
  23. }
  24. return true;
  25. }
  26. else
  27. {
  28. return false;
  29. }
  30. }
  31. else
  32. {
  33. return false;
  34. }
  35. }
  36. /// <summary>
  37. /// 比较两个字段集合是否名称,数据类型一致
  38. /// </summary>
  39. /// <param name= "dcA "> </param>
  40. /// <param name= "dcB "> </param>
  41. /// <returns> </returns>
  42. private static bool CompareColumn(System.Data.DataColumnCollection dcA, System.Data.DataColumnCollection dcB)
  43. {
  44. if (dcA.Count == dcB.Count)
  45. {
  46. foreach (DataColumn dc in dcA)
  47. {
  48. //找相同字段名称
  49. if (dcB.IndexOf(dc.ColumnName) > -1)
  50. {
  51. //测试数据类型
  52. if (dc.DataType != dcB[dcB.IndexOf(dc.ColumnName)].DataType)
  53. {
  54. return false;
  55. }
  56. }
  57. else
  58. {
  59. return false;
  60. }
  61. }
  62. return true;
  63. }
  64. else
  65. {
  66. return false;
  67. }
  68. }
  69. #endregion


原文地址:点击打开链接

相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载