用WINFORM实现数据库备份管理
这段时间公司网站服务器老出问题,为了安全需要把数据备份;打开网站后台,或者用SQL Server来备份非常麻烦,而且公司网站非常多,数据库不只有SQLSERVER还有MYSQL;为了统一管理,决定用C#写一个WINFORM来实现。
步骤如下:
1、创建WINFORM,加入button1按钮;双击按钮进入代码编辑;
2、写入备份数据库代码;代码如下:
private void button1_Click(object sender, EventArgs e)
{
string path = @"D:\www\Temp\3nhdata" +DateTime.Now.ToString("yyyy-MM-dd")+".bak"; // 数据库备份路径与名称
string backupstr = "backup database [3nhdata] to disk='" + path + "';"; // 数据库备份语句
SqlConnection con = new SqlConnection("server=***;uid=sa;pwd=***;"); // 数据库连接
SqlCommand cmd = new SqlCommand(backupstr, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("备份成功!");
}
catch
{
MessageBox.Show("备份失败!");
}
finally
{
con.Close();
}
}
3、加入这段代码后运行程序,点击按钮,程序显示数据“备份成功”;为了方便起见,必须同时将数据备份下载到本地;.net有非常多的下载控件来实现下载;但是在这里完全不需要如此复杂,我们知道,IE有这样的功能,当打开网页时,会自动识别是浏览的网页文件还是需要下载的数据包;所以只需用WINFORM用程序实现默认浏览器打开要下载的文件地址即可,下面的函数可以实现该功能。
public void showWebPage(string webpage)
{
ProcessStartInfo info = new ProcessStartInfo();
info.UseShellExecute = true;
info.FileName = webpage;
Process.Start(info);
}
4、在 MessageBox.Show("备份成功!") 代码下面加入showWebPage(下载地址)实现下载功能;运行程序发现,IE无法判断BAK文件格式;将BAK文件文件格式改成RAR即可。整理一下代码,最终代码如下:
namespace BackupData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string path = "3nhdata" +DateTime.Now.ToString("yyyy-MM-dd") + ".rar"; // 数据库备份名称
string backupstr = "backup database [3nhdata] to disk='" + @"D:\www\Temp\"+ path + "';"; // 数据库备份语句
SqlConnection con = new SqlConnection("server=***;uid=sa;pwd=***;"); // 数据库连接
SqlCommand cmd = new SqlCommand(backupstr, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("备份成功!");
showWebPage("http://www.***.com/Temp/"+path);
}
catch
{
MessageBox.Show("备份失败!");
}
finally
{
con.Close();
}
}
public void showWebPage(string webpage) // 打开网页
{
ProcessStartInfo info = new ProcessStartInfo();
info.UseShellExecute = true;
info.FileName = webpage;
Process.Start(info);
}
}
}

浙公网安备 33010602011771号