C# 比較兩個datatable並找出修改差異的值


C# 比較兩個datatable並找出修改差異的值

 

        //要比較的兩個表
        DataTable dtA; //修改前
        DataTable dtB;//修改后
        //調用方法
        string isEquals = CompareDataTable(dtA, dtB);
        if (isEquals.Length != 0)
        {
            MessageBox.Show("修改內容:" + isEquals);
        }

 

        /// <summary>
        /// 比較兩個DataTable內容是否相等,先是比數量,數量相等就比內容
        /// </summary>
        /// <param name="dtA"></param>
        /// <param name="dtB"></param>
        /// <returns></returns>
        private string CompareDataTable(DataTable dtA, DataTable dtB)
        {

            StringBuilder strbulid = new StringBuilder();
            //比內容
            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]))
                    {
                        //此處\n不需要轉義,不然會報錯
                        strbulid.AppendFormat(@"\n" + "原值:{0}  新值:{1}", dtA.Rows[i][j].ToString(), dtB.Rows[i][j].ToString());
                        // return false;
                    }
                }
            }
            return strbulid.ToString();
        }

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM