⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmcreatedbuser.cs

📁 自己编写的基本Orcale的通用的数据库初始化工具。
💻 CS
📖 第 1 页 / 共 3 页
字号:
                    }
                    #endregion 
                    this.SetFinish();
                    
                    MessageBox.Show("操作完成","操作完成",MessageBoxButtons.OK,MessageBoxIcon.None);
                }
                catch(Exception em)
                {
                    MessageBox.Show(em.ToString(),"异常",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                } 
            }
            catch(Exception em)
            {
                MessageBox.Show(em.ToString(),"异常",MessageBoxButtons.OK,MessageBoxIcon.Warning);                
            }
            this.ShowProgress("",false);
        }

        /// <summary>
        /// 打开窗体事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmCreateDBUser_Load(object sender, System.EventArgs e)
        {
            //读取创建用户脚本,显示到txtUserName中             
            string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Script\"+"EMIS_CreateUser.sql";
            this.textBox1.Text = currAppPath;
                      
            string strLine  = GlobalObject.Instance.LocalSession.ReadSQLScript(currAppPath);
          
            //分解strLine显示到
            CreateTBSSQLScript createTBSSQLScript = new CreateTBSSQLScript();
            User user = createTBSSQLScript.TexttoUser(strLine);
            this.txtUserName.Text = user.UserName;
            this.txtPassword.Text = user.PassWord;
           
            //读取创建表空间脚本信息,显示到表格中
            currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Script\"+"EMIS_CreateTABSP.sql";            
                       
            strLine  = GlobalObject.Instance.LocalSession.ReadSQLScript(@currAppPath);
             
            //分解strLine显示到
            createTBSSQLScript = new CreateTBSSQLScript();
            IList il = createTBSSQLScript.TexttoObject(strLine);

            DataTable dt = new DataTable();
            dt.Columns.Add("datafile");
            dt.Columns.Add("size");
            dt.Columns.Add("esize");                


            foreach(Sqlobject sqlobject in il)
            {
                DataRow dr = dt.NewRow();
                dr["datafile"] = sqlobject.Datafile;
                dr["size"] = sqlobject.Size;
                dr["esize"] = sqlobject.Nextsize;
                dt.Rows.Add(dr);
            }

            this.dgInitializeInfo.DataSource = dt;
            this.dgInitializeInfo.DataBind();            

            //读取日志文件
            DataTable dtlog = readlog();    
            currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Log\"+"CreateDBUSER.XML";
            //根据日志信息,判断当前状态,是已经执行完成,还是未完成,设置按钮可用属性,写入txtLog
            foreach(DataRow dr in dtlog.Rows)
            {
                if(dr["Version"].ToString()!="")
                {
                    this.txtLog.Text = "";
                    this.txtLog.Text += "版本号:"+dr["Version"].ToString()+"\r\n";
                    this.txtLog.Text += "发布时间:"+dr["ReleaseDate"].ToString()+"\r\n";
                    this.txtLog.Text += "版本说明:"+dr["Comment"].ToString()+"\r\n";
                    SetFinish();
                }
                else
                {
                    this.txtLog.Text = "";
                    SetUnFinish();
                }
            }

        }



        /// <summary>
        /// 打开创建表空间文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, System.EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "SQL文件|*.sql";
            string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Script\";
            openFileDialog1.InitialDirectory =currAppPath;
                       
            if(openFileDialog1.ShowDialog()  ==  DialogResult.OK)
            {  
                string strLine  = GlobalObject.Instance.LocalSession.ReadSQLScript(openFileDialog1.FileName);
                textBox1.Text = openFileDialog1.FileName;
                //分解strLine显示到
                CreateTBSSQLScript createTBSSQLScript = new CreateTBSSQLScript();
                IList il = createTBSSQLScript.TexttoObject(strLine);

                DataTable dt = new DataTable();
                dt.Columns.Add("datafile");
                dt.Columns.Add("size");
                dt.Columns.Add("esize");                


                foreach(Sqlobject sqlobject in il)
                {
                    DataRow dr = dt.NewRow();
                    dr["datafile"] = sqlobject.Datafile;
                    dr["size"] = sqlobject.Size;
                    dr["esize"] = sqlobject.Nextsize;
                    dt.Rows.Add(dr);
                }

                this.dgInitializeInfo.DataSource = dt;
                this.dgInitializeInfo.DataBind();
            }  
        }

        /// <summary>
        /// 打开创建用户脚本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, System.EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "SQL文件|*.sql";
            string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Script\";
            openFileDialog1.InitialDirectory =currAppPath;
                       
            if(openFileDialog1.ShowDialog()  ==  DialogResult.OK)
            {  
                string strLine  = GlobalObject.Instance.LocalSession.ReadSQLScript(openFileDialog1.FileName);                 
                //分解strLine显示到
                CreateTBSSQLScript createTBSSQLScript = new CreateTBSSQLScript();
                User user = createTBSSQLScript.TexttoUser(strLine);
                this.txtUserName.Text = user.UserName;
                this.txtPassword.Text = user.PassWord;
            }          
        }

        /// <summary>
        /// 回滚按钮事件
        /// 执行回滚脚本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Cancel_Click(object sender, System.EventArgs e)
        {
            //执行回滚脚本,删除用户和表空间
            try
            {
                //执行创建表空间脚本
                SQLPlusScript sQLPlusScript = new SQLPlusScript();
                sQLPlusScript.ProcessEvent +=new DS.EMIS.StartPrepare.SQLPlusScript.ProcessEventHandler(sQLPlusScript_ProcessEvent);
                string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
                currAppPath += @"\Resources\Script\"+"EMIS_CreateTABSP_RollBack.sql";
                string str = sQLPlusScript.Execute(@currAppPath);
                //执行创建用户脚本
                currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
                currAppPath += @"\Resources\Script\"+"EMIS_CreateUser_RollBack.sql";
                str += sQLPlusScript.Execute(@currAppPath);
                //修改日志
                DataTable dtlog = new DataTable("CreateDBUSER");
                dtlog.Columns.Add("Version");
                dtlog.Columns.Add("ReleaseDate");
                dtlog.Columns.Add("Comment"); 

                DataRow dr1 = dtlog.NewRow();
                dr1["Version"] = "";
                dr1["ReleaseDate"] = "";
                dr1["Comment"] = "";
                dtlog.Rows.Add(dr1);
                writelog(dtlog);
                
                //更新日志显示,更新txtLog中的内容
                DataTable dtlogr = readlog();
                this.txtLog.Text = "";
                this.txtLog.Text = str;      

                SetUnFinish();
                MessageBox.Show("回滚完成!","操作完成",MessageBoxButtons.OK,MessageBoxIcon.None);
            }
            catch(Exception em)
            {
                MessageBox.Show(em.ToString(),"异常",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            }                    
        }

        private void Btn_OK_Click(object sender, System.EventArgs e)
        {
            if(user !=null && user.UserName!=null && user.UserName != "")
            {
                DBAccess.UserID = user.UserName;
                DBAccess.UserPD = user.PassWord;
            }
            //更改状态配置文件
            GlobalObject.Instance.LocalSession.UpdateConfig("DBTask.config","TASK","TaskState","1",0);
            //完成操作,向主界面发送消息 
            GlobalObject.Instance.LocalSession.SendMessage("CreateDBUserTask","FrmCreateDBUser","TaskStepState",TaskStepState.Done);            
            Btn_Cancel.Enabled = false;
        }

        /// <summary>
        /// 修改保存按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Save_Click(object sender, System.EventArgs e)
        {    
            try
            {
                CreateTBSSQLScript createTBSSQLScript = new CreateTBSSQLScript();
                User user = new User();
                user.UserName = this.txtUserName.Text;
                user.PassWord = this.txtPassword.Text;
                createTBSSQLScript.sqltext = createTBSSQLScript.UserObjecttoText(user);
                createTBSSQLScript.writefile();
            }
            catch(Exception em)
            {
                MessageBox.Show(em.ToString(),"异常",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            }
        }

        #endregion

        #region 私有方法
        /// <summary>
        /// 设置按钮状态为完成状态
        /// </summary>
        private void SetFinish()
        {
            this.Btn_Excut.Enabled = false;
            this.Btn_Save.Enabled = false;
            this.Btn_Cancel.Enabled = true;
            this.Btn_OK.Enabled = true;
        }

        /// <summary>
        /// 设置按钮状态为未完成状态
        /// </summary>
        private void SetUnFinish()
        {
            this.Btn_Excut.Enabled = true;
            this.Btn_Save.Enabled = true;
            this.Btn_Cancel.Enabled = false;
            this.Btn_OK.Enabled = false;
        }

        

        /// <summary>
        /// 读取日志信息
        /// </summary>
        /// <returns>数据表</returns>
        private DataTable readlog()
        {
            string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Log\"+"CreateDBUSER.xml";
            return GlobalObject.Instance.LocalSession.ReadDataFromDataFile("CreateDBUSER.xml").Tables["CreateDBUSER"];
        }

        /// <summary>
        /// 写日志信息
        /// </summary>
        private void writelog(DataTable dtlog)
        {
            DataSet ds = new DataSet();
            ds.Tables.Add(dtlog);
            string currAppPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;;
            currAppPath += @"\Resources\Log\"+"CreateDBUSER.xml";
            GlobalObject.Instance.LocalSession.WriteDataToDataFile("CreateDBUSER.xml",ds);
        }

        /// <summary>
        /// 进度条事件响应方法
        /// </summary>
        private void sQLPlusScript_ProcessEvent(int guage)
        {

        }
        #endregion
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -