数据备份、还原

前台: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="managedata.aspx.cs" Inherits="managedata" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>无标题页</title>    <link href="main.css" rel="stylesheet" type="text/css" />    <style type="text/css"> <!-- body{ margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:12px;} .p1{ margin:70px 0 0 230px; vertical-align:bottom;} --> .p2{ margin:15px 0 0 230px; vertical-align:bottom;} .btn{ vertical-align:middle; height:25px; } </style>    </head><body>    <form id="form1" runat="server">    <p class="itemp"></p>    <div >        <table cellpadding="0" cellspacing="0" style="background-image: url(../Images/background.jpg);            width: 644px; background-repeat: no-repeat; height: 400px">            <tr><td>             <p class="p1">                 <span >上传备份文件:</span><asp:FileUpload ID="FileUpload1" runat="server" Width="194px" CssClass="btn"/>                 <asp:Button ID="btnupload" runat="server" OnClick="btnupload_Click" Text="上传备份" ToolTip="把备份文件上传至服务器" CssClass="btn" CausesValidation="False" />                 </p>                 <p class="p2">                  选择还原文件:<asp:DropDownList ID="DropDownList1" runat="server" Width="124px" CssClass="btn"></asp:DropDownList><asp:Button ID="btnreturn" runat="server" OnClick="btnreturn_Click" Text="还原备份" ToolTip="还原系统数据库" CssClass="btn" CausesValidation="False" /> <asp:Button ID="btndownload" runat="server"  OnClick="btndownload_Click" Text="下载备份" ToolTip="下载备份" CssClass="btn" CausesValidation="False" />                  </p>                  <p class="p2">                      <span>备份文件名称:</span><asp:TextBox ID="TextBox1" runat="server"  Width="117px" ></asp:TextBox> <asp:Button ID="Button1" runat="server"  OnClick="Button1_Click" Text="备份数据" ToolTip="备份系统数据库" CssClass="btn"></asp:Button>                   </p>          </td>            </tr>        </table>    </div>    </form></body></html>  

后台:

 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.IO; public partial class managedata : System.Web.UI.Page {    public string bakpath = HttpContext.Current.Server.MapPath("../Backup");    protected void Page_Load(object sender, EventArgs e)    {        AdminCs.CheckLoginState();        //获取备份文件并添加到DropDownList        if (!IsPostBack)        {            DropDownList1.Items.Clear();            string[] files = Directory.GetFiles(bakpath);            foreach (string i in files)            {                string ii = i.Substring(i.LastIndexOf("//") + 1);                DropDownList1.Items.Add(new ListItem(ii));            }        }    }    //备份数据    protected void Button1_Click(object sender, EventArgs e)    {        string bakname = TextBox1.Text.Trim();        //去掉文件名中的非法字符        bakname = bakname.Replace("//", "").Replace("//", "").Replace("*", "").Replace(":", "").Replace("?", "").Replace("/"", "").Replace("<", "").Replace(">", "").Replace("|", "");        string sql = "backup database webzone to disk='" +bakpath+"//"+ bakname + ".bak'";        try        {            if (File.Exists(bakpath + "//" + bakname + ".bak"))            {                SQLcs.AlertShow("此文件已存在,请从新输入!", "managedata.aspx");                return;            }            if (SQLcs.DataOperater(sql))            {                SQLcs.AlertShow("备份数据成功!","managedata.aspx");            }        }        catch        {            SQLcs.AlertShow("备份数据失败!", "managedata.aspx");        }    }    //还原备份    protected void btnreturn_Click(object sender, EventArgs e)    {        string str = DropDownList1.SelectedItem.Text;        if (str == "")        {            SQLcs.AlertShow("请选择备份文件!", "managedata.aspx");        }        string sql = "use master restore database webzone from disk='"+bakpath+"//"+ str+"'";        if (SQLcs.DataOperater(sql))        {            SQLcs.AlertShow("还原数据成功!", "managedata.aspx");        }        else        {            SQLcs.AlertShow("还原数据失败!", "managedata.aspx");        }    }    //下载备份文件    protected void btndownload_Click(object sender, EventArgs e)    {        string url = "../backup/" + DropDownList1.SelectedItem.Text.Trim();        string path = Server.MapPath("../backup");        FileInfo fi=new FileInfo(path+"//"+DropDownList1.SelectedItem.Text.Trim());        if (fi.Exists)        {            Response.Clear();            Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(DropDownList1.SelectedItem.Text.Trim()));            Response.AddHeader("Content-Lenght", fi.Length.ToString());            Response.ContentType = "application/octet-stream;charset=gb2312";            Response.Filter.Close();            Response.WriteFile(fi.FullName);            Response.End();        }    }    //上传备份    protected void btnupload_Click(object sender, EventArgs e)    {        string filename = FileUpload1.PostedFile.FileName;        filename=filename.Substring(filename.LastIndexOf("//")+1);        string val = filename.Substring(filename.LastIndexOf(".") + 1);        if (val != "bak")        {            SQLcs.AlertShow("只能上传bak格式的文件!");            return;        }        try        {            FileUpload1.SaveAs(bakpath + "//" + filename);            SQLcs.AlertShow("上传成功!","managedata.aspx");        }        catch        {            SQLcs.AlertShow("上传失败");        }    }}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值