设为首页 加入收藏

TOP

同步数据(五)
2015-11-21 01:40:01 来源: 作者: 【 】 浏览:3
Tags:同步 数据
,先删除当前社区的已有数据 //string strDelSQL = "delete from dbo.sys_Menu "; //strDelSQL += "delete from dbo.sys_MenuInRoles "; //strDelSQL += "delete from dbo.sys_UsersInRoles "; //delResult = ExecuteSql(strDelSQL); //if (delResult == false) //{ // //this.label4.Text = "删除目标数据库失败......"; // listBox1.Items.Add("删除目标数据库失败......"); //} //else //{ // //this.label4.Text = "删除目标数据库成功......"; // listBox1.Items.Add("删除目标数据库成功......"); //} /*测试数据:删除dbo.sys_Menu_Copy在测试期间录入的数据便于二次录入<多次录入>*/ SqlConnection hipiscon; SqlCommand SQLcom; hipiscon = new SqlConnection(strdbHipis); string strDelSQL = "delete from dbo.sys_Menu_Copy "; SQLcom = new SqlCommand(strDelSQL, hipiscon); try { hipiscon.Open(); SQLcom.ExecuteNonQuery(); hipiscon.Close(); listBox1.Items.Add("删除目标数据库成功......"); } catch (Exception ex) { listBox1.Items.Add("删除目标数据库失败......"); fslog(ex); //Thread.Sleep(300000); } //} //catch (Exception ex) //{ // conYes = false; // fslog(ex); // listBox1.Items.Add("删除目标数据库失败......"); // Thread.Sleep(60000); //} }
10,对源库操作,对目标库操作

/// 
        /// 对源库操作
        /// 
        /// 
        /// 
        private DataTable IsOpenDT(string strSQL, string strConn)
        {
            SqlConnection hipiscon;
            SqlCommand SQLcom;
            DataTable DT;
            SqlDataAdapter SQLADA;
            hipiscon = new SqlConnection(strConn);
            SQLcom = new SqlCommand(strSQL, hipiscon);
            try
            {
                hipiscon.Open();
                SQLcom.ExecuteNonQuery();
                conYes = true;
                hipiscon.Close();
            }
            catch (Exception ex)
            {
                conYes = false;
                fslog(ex);
                //Thread.Sleep(300000);
            }
            DT = new DataTable();
            SQLADA = new SqlDataAdapter(SQLcom);
            SQLADA.Fill(DT);
            return DT;
        }
        /// 
        /// 对目标库操作
        /// 
        /// 
        /// 
        private void IsOpen(string strsql, string strconn)
        {
            try
            {
                SqlConnection pregcon = new SqlConnection(strconn);
                SqlCommand sqlcom = new SqlCommand(strsql, pregcon);
                pregcon.Open();
                sqlcom.ExecuteNonQuery();
                conYes = true;
                pregcon.Close();

            }
            catch (Exception ex)
            {
                conYes = false;
                fslog(ex);
                //Thread.Sleep(300000);
            }
        }

11,具体操作方法

/// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        private void DoWork_select()
        {

            //string strtb = System.Configuration.ConfigurationManager.AppSettings["strtable"].ToString();
            //string strupdt = System.Configuration.ConfigurationManager.AppSettings["updt"].ToString();
            //string strwhere = System.Configuration.ConfigurationManager.AppSettings["where"].ToString();


            while (tureOfalse)
            {
                ISopenCon();
                /*2015/2/2 调整:不能把菜单全部删除,没有的添加到服务器上去,已存在的过滤掉*/
                //DelPreg();
                //DataTable dt = IsOpenDT(strSQL, strdbHipis);

                //String[] tablenamekey = new String[3] { "dbo.sys_Menu", "dbo.sys_MenuInRoles", "dbo.sys_UsersInRoles" };//源数据库
                //String[] tablenamekeypreg = new String[3] { "dbo.sys_Menu_Copy", "dbo.sys_MenuInRoles_Copy", "dbo.sys_UsersInRoles_Copy" };//目标数据库

                //测试数据
                String[] tablenamekey = new String[1] { "dbo.sys_Menu" };//源数据库
                String[] tablenamekeypreg = new String[1] { "dbo.sys_Menu_Copy" };//目标数据库
                if (tablenamekey.Length > 0)
                {
                    for (int i = 0; i < tablenamekey.Length; i++)
                    {
                        string strtablenamekey = tablenamekey[i];
                        string strSQL1 = "select * from ";
                        strSQL1 += strtablenamekey;
                        strSQL1 += " where (1=1)";

                        insert_OR_update(strdbHipis, ref strSQL1, tablenamekeypreg[i]);
                    }
                }
            }
        }

        /// 
        /// 插入,更新 最新数据到PIS数据库
        /// 
        /// 需要更新的表的连接字符串
        /// 最后SQL语句
        /// 需要操作的表
        private void insert_OR_update(string strdbHipis, ref string strSQL, string tbName)
        {
            int a = 0;
            int b = 0;
            string lastSQL;
            DataTable dttb;
            DataTable dttb1;
            dttb = IsOpenDT(strSQL, strdbHipis);

            /*2015/2/2 调整:新增[进度条]追加显示加载信息*/
            progressBar1.Maximum = dttb.Rows.Count;//设置最大长度值
            progressBar1.Value = 0;//设置当前值
            progressBar1.Step = 1;//
首页 上一页 2 3 4 5 下一页 尾页 5/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于各种数据库中表名的大小写 下一篇Aerospike-Architecture系列之混..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: