⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datarestore.aspx.cs

📁 一个土地管理系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.IO;

public partial class manage_DataRecover : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        BindGridbak();
    }

    protected void GridBak_Command(Object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Restore")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = GridBak.Rows[index];
            

            string serverIp = System.Configuration.ConfigurationManager.AppSettings["ServerIP"].ToString();
            string loginName = System.Configuration.ConfigurationManager.AppSettings["LoginName"].ToString();
            string loginPass = System.Configuration.ConfigurationManager.AppSettings["LoginPass"].ToString();
            string BackPath = Server.MapPath("../DataBak/" + row.Cells[0].Text);
            string dbname = System.Configuration.ConfigurationManager.AppSettings["DBName"].ToString();
            SQLDbRestore(serverIp,loginName,loginPass,dbname,BackPath);
            Page.RegisterClientScriptBlock("clientScript","<script>alert('[操作成功!]');</script>");
        }
        if (e.CommandName == "DeleteBak")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = GridBak.Rows[index];

            File.Delete(Server.MapPath("../DataBak/" + row.Cells[0].Text));

            BindGridbak();
        }
    }
    /// <summary>
    /// 数据库还原
    /// </summary>
    /// <param name="ServerIP"></param>
    /// <param name="LoginName"></param>
    /// <param name="LoginPass"></param>
    /// <param name="DBName"></param>
    /// <param name="BackPath"></param>
    void SQLDbRestore(string ServerIP, string LoginName, string LoginPass, string DBName, string BackPath)
    {

        string path = BackPath;
        string server =ServerIP;
        string name = LoginName;
        string pwd = LoginPass;
        string database = DBName;

        string restoreStr = "Alter DATABASE " + DBName + " set single_user with rollback immediate use master ; ";
        restoreStr += " RESTORE DATABASE "+DBName+" from disk = '"+BackPath+"';";
        restoreStr += " Alter DATABASE " + DBName + " set multi_user";

        DataOp.updateData(restoreStr);
    
    }




    void BindGridbak()
    {
        GridBak.DataSource = fileList();
        GridBak.DataBind();
    }
    /// <summary>
    /// 读取所有备份数据库列表
    /// </summary>
    /// <returns></returns>
    DataTable fileList() 
    {
        DataTable table = new DataTable();
        DataColumn dc = new DataColumn("fileName",Type.GetType("System.String"));
        table.Columns.Add(dc);
        DataRow dr;
        System.IO.FileInfo fileInfo;
        System.IO.DirectoryInfo dir;
        
        System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(Server.MapPath("../Databak"));

        foreach (System.IO.FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
        {
            string FileName = "";
            string FileExt = "";
            

            if (fsi is FileInfo)
            {
                fileInfo = (FileInfo)fsi;
                FileName = fileInfo.Name;
                FileExt = fileInfo.Extension;
                dr = table.NewRow();
                dr["fileName"] = FileName;
                table.Rows.Add(dr);
            }
         
        }
        return table;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -