protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//在DropDownList中绑定所有数据库
SqlConnection connection = new SqlConnection("Data Source=YGH-PC\\SQLEXPRESS;Initial Catalog=DBcourse;User ID=Operatee;Password=love@ni");
SqlCommand command = new SqlCommand("sp_helpdb", connection);
command.CommandType = CommandType.StoredProcedure;
connection.Open();
SqlDataReader reader = command.ExecuteReader();
ddlDatabaseList.DataSource = reader;
ddlDatabaseList.DataTextField = "Name";
ddlDatabaseList.DataBind();
reader.Close();
connection.Close();
}
}
protected void btnOK_Click(object sender, EventArgs e)
{
string dbFileName = txtDbFileName.Text.Trim();
SqlConnection connection = new SqlConnection("Data Source=。\\SQLEXPRESS;Initial Catalog=DBcourse;User ID=tee;Password=ni");
string dbName = ddlDatabaseList.SelectedValue;
if (!dbFileName.EndsWith(".bak"))
{
dbFileName += ".bak";
}
if (rbBackup.Checked)//备份数据库
{
SqlCommand command = new SqlCommand("use master;backup database @name to disk=@path;", connection);
connection.Open();
string path = Server.MapPath("~\\App_Data") + "\\" + dbFileName;
command.Parameters.AddWithValue("@name", dbName);
command.Parameters.AddWithValue("@path", path);
command.ExecuteNonQuery();
connection.Close();
Page.ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>alert('数据库备份成功!');</script>");
}
else//恢复数据库
{
SqlCommand command = new SqlCommand("use master;restore database @name from disk=@path;", connection);
connection.Open();
string path = Server.MapPath("~\\App_Data") + "\\" + dbFileName;
command.Parameters.AddWithValue("@name", dbName);
command.Parameters.AddWithValue("@path", path);
command.ExecuteNonQuery();
connection.Close();
Page.ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script> alert('数据库还原成功!');</script>");
}