C#数据库备份恢复

1、html 部分

view plaincopy to clipboardprint?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DBBack.aspx.cs" Inherits="FunctionModule_BaseDataModule_DBBack" 
    StylesheetTheme="Default" %> 
 
 
<%@ Register Src="~/WebControls/BarTitle.ascx" TagName="BarTitle" TagPrefix="uc" %> 
<%@ Register Src="~/WebControls/GridPage.ascx" TagName="GridPage" TagPrefix="uc1" %> 
 
 
    无标题页 
 
     
 
     
 
     
 
 
 
   

 
     
   
 
     
         
            <%--按钮显示--%> 
             
                 
                 
                     
                         
                         
                         
                     
               
 
                       
 
                                                            AccessKey="S" ToolTip="Alt + S" OnClick="btnSave_Click" /> 
                                                            ToolTip="Alt + B" OnClick="btnReturn_Click" /> 
                       
 
                             
                                                            HeaderText='系统讯息:' /> 
                       
 
           
 
            <%--查询条件--%> 
             
               
 
                     
                       
 
                     
                         
                             
                             
                         
                         
                             
                             
                         
                         
                             
                             
                         
                         
                             
                             
                         
                   
 
                                 
                           
 
                                                                    Height="16px" Width="203px"> 
                               
 
                           
 
                                 
                           
 
                                 
                           
 
                           
 
                                 
                           
 
                                 
                           
 
                                 
                           
 
                    <%-- 数据源--%> 
               
 
           
 
       
 
   
 
   
 
 
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DBBack.aspx.cs" Inherits="FunctionModule_BaseDataModule_DBBack"
    StylesheetTheme="Default" %>


<%@ Register Src="~/WebControls/BarTitle.ascx" TagName="BarTitle" TagPrefix="uc" %>
<%@ Register Src="~/WebControls/GridPage.ascx" TagName="GridPage" TagPrefix="uc1" %>


    无标题页

   

   

   



   


   
   

   
       
            <%--按钮显示--%>
           
               
               
                   
                       
                       
                       
                   
               

                       

                                                            AccessKey="S" ToolTip="Alt + S" OnClick="btnSave_Click" />
                                                            ToolTip="Alt + B" OnClick="btnReturn_Click" />
                       

                           
                                                            HeaderText='系统讯息:' />
                       

           

            <%--查询条件--%>
           
               

                   
                       

                   
                       
                           
                           
                       
                       
                           
                           
                       
                       
                           
                           
                       
                       
                           
                           
                       
                   

                               
                           

                                                                    Height="16px" Width="203px">
                               

                           

                               
                           

                               
                           

                           

                               
                           

                               
                           

                               
                           

                    <%-- 数据源--%>
               

           

       

   

   



 

2、CS部分

view plaincopy to clipboardprint?
using System;  
using System.Collections;   
using System.Configuration;   
using System.Data;   
using System.Linq;   
using System.Web;   
using System.Web.Security;   
using System.Web.UI;   
using System.Web.UI.HtmlControls;   
using System.Web.UI.WebControls;   
using System.Web.UI.WebControls.WebParts;  
using System.Xml.Linq;   
using System.Data.SqlClient;  
using System.IO;   
 
 
public partial class FunctionModule_BaseDataModule_DBBack : System.Web.UI.Page  
{  
    string ConnString = "Data Source=.;User ID=sa;Password=dyl*102900;Initial Catalog=";   
 
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (!IsPostBack)   
        {   
            //创建数据库   
            SqlConnection con = createCon("InOutManage");   
            con.Open();   
            //打开数据库连接   
            string sql = "Exec sp_helpdb";  
            SqlDataAdapter sdr = new SqlDataAdapter(sql, con);   
            DataSet ds = new DataSet();   
            sdr.Fill(ds);   
            //填充DataSet数据集   
            ddlDataName.DataSource = ds.Tables[0].DefaultView;   
            ddlDataName.DataTextField = "name";   
            //设置下拉列表框显示的文本   
            ddlDataName.DataBind();   
            try   
            {   
                ddlDataName.SelectedValue = "InOutManage";   
                ddlDataName.Enabled = false;   
            }   
            catch { }   
            ddlDataName_SelectedIndexChanged(sender, e);   
        }   
    }   
      
    protected SqlConnection createCon(string dataName)   
    {   
        string str = ConnString + dataName;   
        SqlConnection con = new SqlConnection(str);   
        return con;   
    }  
 
    protected void btnSave_Click(object sender, EventArgs e)  
    {  
        SqlConnection con = createCon(ddlDataName.SelectedValue);  
        string sql = "backup database " + ddlDataName.SelectedValue + " to disk='" + txtPath.Text + ".bak'";  
        con.Open();  
        if (!File.Exists(txtPath.Text + ".bak"))  
        {  
            SqlCommand com = new SqlCommand(sql, con);  
            com.ExecuteNonQuery();      //执行sql语句  
            lblmessage.Text = "系统信息:备份成功!";  
        }  
        else 
        {  
            lblmessage.Text = "系统信息:文件已存在!";  
        }  
    }  
 
              
   protected string getSize(string dataName)   
   {   
       SqlConnection con = createCon("InOutManage");   
       con.Open();   
       //sql语句获取指定数据库的信息   
       string str = "exec sp_helpdb " + dataName;   
       SqlCommand com = new SqlCommand(str, con);   
       SqlDataReader sdr = com.ExecuteReader();   
       sdr.Read();   
       //读取一条记录   
       //获取该数据库的大小   
       string size = sdr["db_size"].ToString();   
       sdr.Close();   
       con.Close();   
       return size;   
   }   
      
    //通过Label控件显示当前数据库的大小   
    protected void ddlDataName_SelectedIndexChanged(object sender, EventArgs e)   
    {   
        labDataSize.Visible = true;   
        //显示当前数据库的大小   
        labDataSize.Text = getSize(ddlDataName.SelectedValue);  
        txtPath.Text = "E:/" + ddlDataName.SelectedValue + DateTime.Today.Year.ToString() + DateTime.Today.Month.ToString()+DateTime.Today.Day.ToString();  
    }  
 
 
    protected void btnReturn_Click(object sender, EventArgs e)  
    {  
        Response.Redirect("~/desktop.aspx");  
    }  

 

还原代码

protected void Button2_Click(object sender, EventArgs e)
    {
        string path = @"c:/Test.bak";
        string restore="restore database Test from disk='"+path+"';";
        SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=;");
        SqlCommand cmd=new SqlCommand(restore,con);
        try
        {
            con.Open();
            cmd.ExecuteNonQuery();
            this.Label1.Text = "恢复成功";

        }
        catch
        {
            this.Label1.Text = "恢复失败";
        }
        finally
        {
            con.Close();
        }

你可能感兴趣的:(C#)