国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net備份和恢復數據庫

2019-11-14 14:31:49
字體:
來源:轉載
供稿:網友

前臺:

復制代碼
<form id="form1" runat="server">    <div>        <asp:Button ID="Button1" runat="server" Text="備份數據庫" OnClick="Button1_Click" />        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>        <asp:Label ID="Label2" runat="server" Text=""></asp:Label>        <asp:GridView ID="gv_DataBasefile" runat="server" AutoGenerateColumns="False" Width="100%"            OnRowCommand="gv_DataBasefile_RowCommand">            <RowStyle HorizontalAlign="center" />            <Columns>                <asp:TemplateField HeaderText="文件名">                    <ItemTemplate>                        <%#Eval("Name") %>                    </ItemTemplate>                </asp:TemplateField>                <asp:TemplateField HeaderText="創建時間">                    <ItemTemplate>                        <%# objIdtu.GetDateTime( Eval("CreationTime"),"yyyy-MM-dd HH:mm:ss")%>                    </ItemTemplate>                </asp:TemplateField>                <asp:TemplateField HeaderText="修改時間">                    <ItemTemplate>                        <%# objIdtu.GetDateTime(Eval("LastWriteTime"), "yyyy-MM-dd HH:mm:ss")%>                    </ItemTemplate>                </asp:TemplateField>                <asp:TemplateField HeaderText="路徑">                    <ItemTemplate>                        <%# Eval("DirectoryName")%>                    </ItemTemplate>                </asp:TemplateField>                <asp:TemplateField HeaderText="還原">                    <ItemTemplate>                        <%--CommandArgument 傳遞兩個數據  Name,DirectoryName--%>                        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="../images/x1root.gif"                            CommandArgument='<%# Eval("Name")+","+Eval("DirectoryName")%>' />                    </ItemTemplate>                </asp:TemplateField>            </Columns>        </asp:GridView>    </div>    </form>
復制代碼

后臺:

 

復制代碼
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using HanSoft.BusinessLogic;using Insus.NET;using CAF.DBUtility;using System.IO;using System.Data;using System.Data.SqlClient;using System.Collections;using HanSoft.SQLServerDAL;public partial class information_backDB : System.Web.UI.Page{    PRotected InsusDateTimeUtility objIdtu = new InsusDateTimeUtility();    InsusIOUtility objIotu = new InsusIOUtility();    protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            Data_Binding();        }    }    private void Data_Binding()    {        DirectoryInfo dInfo = new DirectoryInfo(Server.MapPath("~/backSql"));        this.gv_DataBasefile.DataSource = dInfo.GetFiles();        this.gv_DataBasefile.DataBind();    }    /// <summary>    /// 備份數據庫    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void Button1_Click(object sender, EventArgs e)    {        try        {            BACKUP();            Label1.Text = "數據庫備份成功!";            Data_Binding();        }        catch (Exception ex)        {            Response.Write(ex.Message);        }    }    /// <summary>    /// 備份數據庫方法    /// </summary>    private void BACKUP()    {        string DBname = "1220";        string backUpDBname = DBname + "_" + objIdtu.GetDateTimeMillisecond();//這一步是數據庫名+年月日+隨機數        objIotu.MakeDirectory(Server.MapPath("~/backSql"));  //這一步是在根目錄下面生成一個文件夾,名叫 backsql        string str_sql = " BACKUP DATABASE [" + DBname + "] TO DISK = '" + Server.MapPath("~/").ToString() + "backSql//" + backUpDBname + ".bak'";        int i = SqlHelper.ExecuteNonQuery(str_sql);    }    /// <summary>    /// 還原數據庫    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    protected void gv_DataBasefile_RowCommand(object sender, GridViewCommandEventArgs e)    {        SelectObjectIndexBLL SoIndexBLL = new SelectObjectIndexBLL();        SqlConnection connection = new SqlConnection("Data Source=192.168.1.98;User ID=sa;PassWord=123");        string path_name = e.CommandArgument.ToString();        string[] array = { };        string[] array1 = { };        array = path_name.Split(',');        string dbFileName = array[1].ToString();        array1 = array[0].ToString().Split('_');        string dbName = array1[0].ToString();        SqlCommand command = new SqlCommand("use master;restore database @name from disk=@path WITH REPLACE;", connection);        string path = dbFileName + "http://" + array[0];  //全路徑        command.Parameters.AddWithValue("@name", dbName);  //dbName還原目標數據庫名        command.Parameters.AddWithValue("@path", path);        DataTable dt_spid = SoIndexBLL.GetDataList(" select spid from master..sysprocesses where dbid=db_id('1220') ").Tables[0];        if (dt_spid.Rows.Count > 0)        {            for (int i = 0; i < dt_spid.Rows.Count; i++)            {                string sql = " kill " + Convert.ToString(dt_spid.Rows[i]["spid"]) + " ";                //SqlDataAdapter sqldap = new SqlDataAdapter(sql, connection);//--------------1                SqlCommand commd = new SqlCommand(sql, connection);//----------2                connection.Open();                commd.ExecuteReader();//-------------2                connection.Close();                           } Label2.Text = " 數據庫恢復成功! ";        }        connection.Open();        command.ExecuteNonQuery();//-----------------1        connection.Close();            }}
復制代碼

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德保县| 崇文区| 柳河县| 安乡县| 富蕴县| 长白| 黄浦区| 洛浦县| 阳西县| 治多县| 扶沟县| 高雄市| 台安县| 台州市| 旺苍县| 漠河县| 瑞金市| 兖州市| 象州县| 临朐县| 大化| 甘洛县| 宁乡县| 中卫市| 壤塘县| 安徽省| 汉阴县| 四子王旗| 濮阳市| 澄江县| 牙克石市| 海城市| 禄丰县| 兴仁县| 黄冈市| 富阳市| 晴隆县| 同仁县| 萍乡市| 凤翔县| 望都县|