C#备份还原数据库

 
///
        /// 备份数据库
        ///

        public bool backupDB()
        {
            string path = System.Configuration.ConfigurationSettings.AppSettings["backup"];
            File.Delete(path);
            string backupstr = "backup database HRIS to disk='" + path + "'";
            openCon();
            SqlCommand com = new SqlCommand(backupstr, con);
            try
            {
                com.ExecuteNonQuery();
                closeCon();
                return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                closeCon();
            }
        }
        ///
        /// 还原数据库
        ///

        public bool revertDB()
        {
            string path = System.Configuration.ConfigurationSettings.AppSettings["backup"];
            string dbname = "HRIS";
            string restoreSql = "use master;";
            restoreSql += "restore database @dbname from disk = @path;";
            string pai = "use master;ALTER DATABASE HRIS SET OFFLINE WITH ROLLBACK IMMEDIATE;ALTER DATABASE HRIS SET ONLINE WITH ROLLBACK IMMEDIATE";
            openCon();
            SqlCommand com1 = new SqlCommand(pai, con);
            SqlCommand myCommand = new SqlCommand(restoreSql, con);
            myCommand.Parameters.Add("@dbname", SqlDbType.Char);
            myCommand.Parameters["@dbname"].Value = dbname;
            myCommand.Parameters.Add("@path", SqlDbType.Char);
            myCommand.Parameters["@path"].Value = path;
            try
            {
                com1.ExecuteNonQuery();
                myCommand.ExecuteNonQuery();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                closeCon();
            }
        }

你可能感兴趣的:(.NET/C#,薄说浅谈)