c#实现数据库的备份
2024-09-10 15:52:46
在.NET开发后天管理系统的时候,数据库的备份功能是必须实现的一块,而在数据库备份方面一句sql语句就可以搞定了,那就是<Backup Database 数据库名To disk='路径\数据库备份名.bak' >。基于此语句开始实现备份功能。
首先需要封装一个连接数据库的help类
public SqlEmploy()
{ }
public string MyConnStr
{
get
{
return System.Configuration.ConfigurationManager.ConnectionStrings["SHDSConnectionString"].ToString();
}
} public int Back_up(string sql, SqlParameter[] para, CommandType type)
{
SqlConnection conn = new SqlConnection(MyConnStr);
try
{
SqlCommand cmd = new SqlCommand(sql, conn);
if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken)
{
conn.Open();
} if (para != null && para.Length > 0)
{
foreach (SqlParameter p in para)
{
cmd.Parameters.Add(p);
}
} cmd.CommandType = type;
int count = cmd.ExecuteNonQuery();
return count;
}
finally
{
conn.Close();
}
}
然后我们选择一个Button控件,写一个Click方法
protected void Button1_Click(object sender, EventArgs e)
{
string newname = "SHDH" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + ".bak";
string nepath = Server.MapPath("~/DataBack/") + newname;
string sql = "BACKUP DATABASE SHDS to DISK ='" + nepath + "'";
int i = help.Back_up(sql,null,System.Data.CommandType.Text);
if (i==-1)
{
Label1.Text = "已成功备份到服务器路径:" + nepath; }
else
{
Label1.Text = "备份数据库出错,该文件可能不存在!";
Label1.Visible = true;
} }
为什么上面的i是-1,这个我想大家一定有疑问,我在查看ExecuteNonQuery()方法的时候,有这样一句话“ExecuteNonQuery()方法对数据库结构的操作,如果操作成功时返回的却是-1”所以,在基本的数据操作ExecuteNonQuery()方法返回的就是影响的数据行数,而在操作数据库结构之类的方面,他成功之后返回的就是-1,所以i==-1。
最新文章
- 数据可视化案例 | 如何打造数据中心APP产品
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
- redis hash数据类型
- Dubbo中对Spring配置标签扩展
- React.js 样式组件:React Style
- C# 设计基础(一)
- Java Cardioid 心脏形曲线 (整理)
- 修改FFMpeg源码—捕获丢包
- [置顶] 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
- <;转>; 30 个有关 Python 的小技巧
- 30分钟学玩转RabbitMQ
- mysql的定时任务
- nginx配置分发Tomcat服务,负载均衡
- 序列化 pickle shelve json configparser
- 团队作业 &; alpha最终测试报告
- 【转】VC++ 也有 Refactoring 功能了
- mac远程链接 windows
- 怎么修复网站漏洞 骑士cms的漏洞修复方案
- iOS RunLoop详解
- python 常用数据结构