ASP.NET 备份与恢复ACCESS数据库
备份与恢复ACCESS数据库
核心技术:
File.Copy
1.前台
<table>
<tr>
<td align="center" colspan="3" style="height: 19px"><strong><span style="font-size: 12pt">备份与恢复ACCESS数据库</span></strong></td>
</tr>
<tr>
<td style="width: 192px">数据库备份名称:</td>
<td><asp:TextBox ID="TextBox1" runat="server" Columns="17" MaxLength="17"></asp:TextBox></td>
<td><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="数据备份" /></td>
</tr>
<tr>
<td style="width: 192px">数据库恢复名称:</td>
<td><asp:DropDownList ID="DropDownList1" runat="server" Width="153px"></asp:DropDownList></td>
<td><asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="数据恢复" /></td>
</tr>
</table>
2.后台
using System.IO;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox1.Text = DateTime.Now.ToShortDateString()+DateTime.Now.Hour.ToString() + "H.mdb";
this.DataBindList();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!File.Exists(Server.MapPath(@"~\bakDataBase\" + TextBox1.Text)))
{
File.Copy(Server.MapPath(@"~\App_Data\Test.mdb"), Server.MapPath(@"~\bakDataBase\" + TextBox1.Text));
this.DataBindList();
Response.Write("数据备份成功!");
}
else
{
Response.Write("备份文件已经存在,请重新命名!!!");
}
}
public void DataBindList()
{
DropDownList1.Items.Clear();
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("fileName", typeof(string)));
DirectoryInfo dir = new DirectoryInfo(Server.MapPath(@"~\bakDataBase\"));
foreach (FileInfo file in dir.GetFiles())
{
DataRow dr = dt.NewRow();
dr[0] = file;
dt.Rows.Add(dr);
}
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "fileName";
DropDownList1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
File.Copy(Server.MapPath(@"~\bakDataBase\" + DropDownList1.SelectedItem.Text), Server.MapPath(@"~\App_Data\Test.mdb"), true);
Response.Write("数据恢复成功!");
}
}