码迷,mamicode.com
首页 > 其他好文 > 详细

同步表

时间:2015-06-01 18:27:53      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

 /// <summary>
        /// 同步按照NewTable中ID存储情况将数据按照规则同步至OldTable,并清空OldTable中多余数据行,返回错误消息
        /// </summary>
        public static string SetInIDPhase(DataTable OldTable, DataTable NewTable)
        {
            bool b;
            try
            {
                for (int i = OldTable.Rows.Count - 1; i >= 0; i--)
                {
                    b = false;
                    for (int n = 0; n < NewTable.Rows.Count; n++)
                    {
                        if (NewTable.Rows[n]["ID"].ToString() == OldTable.Rows[i]["ID"].ToString())
                        {
                            for (int m = 0; m < NewTable.Columns.Count; m++)
                            {
                                OldTable.Rows[i][m] = NewTable.Rows[n][m];
                            }
                            b = true;
                            break;
                        }
                    }
                    if (!b)
                        OldTable.Rows[i].Delete();

                }
                for (int i = 0; i < NewTable.Rows.Count; i++)
                {
                    b = false;
                    for (int n = 0; n < OldTable.Rows.Count && NewTable.Rows[i]["ID"] != DBNull.Value; n++)
                    {
                        if (OldTable.Rows[n].RowState == DataRowState.Deleted) continue;
                        if (NewTable.Rows[i]["ID"].ToString() == OldTable.Rows[n]["ID"].ToString())
                        {
                            b = true;
                            break;
                        }
                    }
                    if (!b)
                    {
                        DataRow tabRow;
                        tabRow = OldTable.NewRow();
                        for (int m = 0; m < NewTable.Columns.Count; m++)
                        {
                            tabRow[m] = NewTable.Rows[i][m];
                        }
                        OldTable.Rows.Add(tabRow);
                    }
                }
                return string.Empty;
            }
            catch (Exception e)
            {
                return e.Message;
            }
        }

 

同步表

标签:

原文地址:http://www.cnblogs.com/Echo529/p/4544329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!