.net 如何保存数据库为.bak文件到文件夹
目录结构:
DBConnection.cs类代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;//引用SQL命名空间
namespace PMS.PMSClass
{
class DBConnection//定义类型
{
/// <summary>
/// 返回数据库连接的静态方法
/// </summary>
/// <returns>方法返回数据库连接对象</returns>
public static SqlConnection MyConnection()
{
return new SqlConnection(//创建数据库连接对象
@"server=192.168.2.121;database=db_PMS;User Id=users;pwd=haizheng2018");//根据自己的数据库
}
}
}
页面button按钮点击触发的事件:
private void button1_Click(object sender, EventArgs e)//备份数据库的方法原理
{
try
{
strg = Application.StartupPath.ToString();//得到应用程序路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径
strg = strg.Substring(0, strg.LastIndexOf("\\"));//截取路径
strg += @"\Backup";//添加路径信息
string sqltxt =//设置SQL字符串
@"BACKUP DATABASE db_PMS TO Disk='" + strg + "\\PMS.bak" + "'";
if (File.Exists(strg + "\\PMS.bak"))//判断文件是否存在
{
File.Delete(strg + "\\PMS.bak");//删除文件
SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
conn.Open();//连接数据库
SqlCommand cmd = new SqlCommand(sqltxt, conn);//创建数据库命令对象
cmd.ExecuteNonQuery();//执行操作
conn.Dispose();//释放数据库连接资源
if (MessageBox.Show("备份成功", "提示", MessageBoxButtons.OK,//弹出消息对话框
MessageBoxIcon.Exclamation) == DialogResult.OK)
{
this.Close();//关闭窗体
}
}
else
{
SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
conn.Open();//连接数据库
SqlCommand cmd = new SqlCommand(sqltxt, conn);//创建数据库命令对象
cmd.ExecuteNonQuery();//执行操作
conn.Dispose();//释放数据库连接资源
if (MessageBox.Show("备份成功", "提示", MessageBoxButtons.OK,//弹出消息对话框
MessageBoxIcon.Exclamation) == DialogResult.OK)
{
this.Close();//关闭窗体
}
}
}
catch (Exception ex)//捕获异常
{
MessageBox.Show(ex.Message.ToString(), "提示",//弹出消息对话框
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}