在.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。

最新文章

  1. 数据可视化案例 | 如何打造数据中心APP产品
  2. 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
  3. redis hash数据类型
  4. Dubbo中对Spring配置标签扩展
  5. React.js 样式组件:React Style
  6. C# 设计基础(一)
  7. Java Cardioid 心脏形曲线 (整理)
  8. 修改FFMpeg源码—捕获丢包
  9. [置顶] 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
  10. &lt;转&gt; 30 个有关 Python 的小技巧
  11. 30分钟学玩转RabbitMQ
  12. mysql的定时任务
  13. nginx配置分发Tomcat服务,负载均衡
  14. 序列化 pickle shelve json configparser
  15. 团队作业 &amp; alpha最终测试报告
  16. 【转】VC++ 也有 Refactoring 功能了
  17. mac远程链接 windows
  18. 怎么修复网站漏洞 骑士cms的漏洞修复方案
  19. iOS RunLoop详解
  20. python 常用数据结构

热门文章

  1. 【js】高阶函数是个什么?
  2. jvm启动参数设置 -Dfile.encoding=UTF-8 解决freemark乱码
  3. GitHub 常用的几条命令
  4. Tomcat类加载
  5. range 小数据池介绍
  6. C# 启动外部进程
  7. javascript 之 第七章第三节(this关键字)
  8. Ubuntu 下生成 python 环境安装文件 requirements.txt
  9. selenium python 中浏览器操作
  10. UI组件--element-ui合计行在横向滚动条下面的解决方法