ASP.NET中备份和恢复数据库

1.备份和恢复SQL数据库
  <script language="C#" runat="server">
  
   // 注意本节的数据库连接字符串
   string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer1"];
   
   void Page_Load(object sender, System.EventArgs e)
   {
    if(!IsPostBack)
    {
     // 创建连接及执行数据库操作
     string db_query = "sp_helpdb";

     SqlCommand myCommand = new SqlCommand(db_query, new SqlConnection(ConnStr));
     myCommand.Connection.Open();
     SqlDataReader dr = myCommand.ExecuteReader();

     // 将数据库列表绑定到下拉列表控件(DropDownList)
     dbDropDownList.DataSource = dr;
     dbDropDownList.DataTextField = "name";
     dbDropDownList.DataBind();

     //关闭DataReader对象和数据库连接
     dr.Close();
     myCommand.Connection.Close();
    }
   }
   
   void dbDropDownList_SelectedIndexChanged(object sender, System.EventArgs e)
   {
    txtPath.Text = @"C:/BACKUP/" + dbDropDownList.SelectedValue + ".bak";
   }
   
   void btnBackup_Click(object sender, System.EventArgs e)
   {
    string path = txtPath.Text;
    string dbname = dbDropDownList.SelectedValue;

    string backupSql = "use master;";
    backupSql += "backup database @dbname to disk = @path;";
   
    SqlCommand myCommand = new SqlCommand(backupSql, new SqlConnection(ConnStr));

    myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path;

    try
    {
     myCommand.Connection.Open();
     myCommand.ExecuteNonQuery();
     lblMsg.Text = "备份成功";
    }
    catch(Exception ex)
    {
     lblMsg.Text = "备份失败<br>" + ex.ToString();
    }
    finally
    {
     myCommand.Connection.Close();
    }
   }
   
   void btnRestore_Click(object sender, System.EventArgs e)
   {
    string path = pathTextBox.Text;
    string dbname = dbDropDownList.SelectedValue;

    string restoreSql = "use master;";
    restoreSql += "restore database @dbname from disk = @path;";

    SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr));

    myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path;

    try
    {
     myCommand.Connection.Open();
     myCommand.ExecuteNonQuery();
     lblMsg.Text = "恢复成功";
    }
    catch(Exception ex)
    {
     lblMsg.Text = "恢复失败<br>" + ex.ToString();
    }
    finally
    {
     myCommand.Connection.Close();
    }
   }
  
  </script>

2.添加一个dropdownlist控件,两个Button按钮,一个TextBox文本框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值