C#备份数据和还原数据

 
  private void button1_Click(object sender, EventArgs e)
{
//选择要备份的路径
this.folderBrowserDialog1.ShowDialog();
this.txtDbBackup.Text = folderBrowserDialog1.SelectedPath;
}

private void btnChooseOK_Click(object sender, EventArgs e)
{

if (txtDbhuanyuan.Text=="")
{
//路径+数据库名字
string name = txtDbBackup.Text+@"\QMX.mdf";
//备份数据库语句
string sql = string.Format(@"Backup Database QMX To disk='{0}'",name);


if (DBHelpers.Upadate(sql)) {
MessageBox.Show("备份成功");


}
else
{
MessageBox.Show("备份失败");
}
}
else
{
MessageBox.Show("请选择路径");
}



}
private void btnDeoxidizeTxt_Click(object sender, EventArgs e)
{
//选择要恢复的路径

string xiaohao;
OpenFileDialog op = new OpenFileDialog();
//默认打开D盘
op.InitialDirectory = "D:\\";
op.Filter = "(*.mdf)|*.mdf|(*.png)|*.png|(*.*)|*.*";
op.RestoreDirectory = true;
op.AddExtension = true;
if (op.ShowDialog()==DialogResult.OK)
{
xiaohao= op.FileName;

txtDbhuanyuan.Text = xiaohao;
}
}

private void btnDeoxidize_Click(object sender, EventArgs e)
{
if (txtDbhuanyuan.Text=="")
{
MessageBox.Show("请正确选择地址");
}
else
{
//恢复数据库sql语句
string sql = string.Format("if exists(select * from sysdatabases where name='QMX') drop database QMX use master restore database QMX from disk='{0}'", this.txtDbhuanyuan.Text);

if (DBHelpers.Upadate(sql))
{
MessageBox.Show("数据库恢复成功");
}
else
{
MessageBox.Show("数据库恢复失败");
}
}

}


  public class DBHelpers
    {

private static SqlConnection con;

public static SqlConnection Con
{
get
{

if (con == null)
{

con = new SqlConnection(ConfigurationManager.ConnectionStrings["QMXContext"].ConnectionString);
con.Open();
}
else if (con.State == ConnectionState.Broken)
{
con.Close();
con.Open();
}
else if (con.State == ConnectionState.Closed)
{
con.Open();
}



return con;
}

}
public static SqlCommand Cmd
{
get
{
return Con.CreateCommand();
}

}
public static bool Upadate(string sql)
{
SqlCommand cmd = Cmd;
cmd.CommandText = sql;
if (cmd.ExecuteNonQuery()==-1)
{
return true;
}
else
{
return false;
}

}
public static object SelectFromscaler(string sql)
{
SqlCommand cmd = Cmd;
cmd.CommandText = sql;
return cmd.ExecuteScalar();

}

}



 

 

转载于:https://www.cnblogs.com/xiaohaoblog/archive/2012/03/07/2384476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 11 小技巧- WSL运行本地GPU算力

WSL 已经被很多开发⼈员⽤于云原⽣开发,但如果你像我每天要完成⼈⼯智能应⽤的 发,会⼀直希望能加上GPU算⼒,这样就不需要再去安装⼀台Linux的机器去做⼈⼯智能的⼯作了(毕竟很多的⼈⼯智能场景都是在Linux下完成的)。这次Windows 11 不仅⽀…

python pdf 图片_第一节:python提取PDF文档中的图片

1、安装第三方类库pymupdf:pip install pymupdf2、安装完成后直接上代码,代码如下:import fitzimport timeimport reimport osdef pdf2pic(path, pic_path):t0 time.clock() # 生成图片初始时间checkXO r"/Type(? */XObject)" #…

利用两款软件实现图片转文字

wps(另存为pdf)CajViewer(文字识别)图片识别技术,网上看到的教程,真是佩服!转载于:https://blog.51cto.com/p6xos/1655695

私房钱就藏在老婆眼皮底下

1 建议出一个藏私房钱的教程▼2 以前还是打飞的就这个价格,最多是个飞公交▼3 众所周知狗是不会剪视频的,所以是真的▼4 老实讲我小时候也幻想过这个操作▼5 这可真是一个悲伤的故事▼6 这可真是令人羡慕的发量▼7 退一步越想越气忍一时越想越亏▼…

19.Silverlight调用webservice上传多个文件

Silverlight不支持读写服务器端的硬盘,可是很多时候用户需要在Silverlight客户端往服务器端上传文件,那么本节将讲述 Silverlight中最简单的上传文件的方式:在Silverlight客户端将文件序列化为Byte[]字符组,然后服务器端使用 webS…

python第k序列元素查找_Python寻找第k小的元素

更多: http://my.oschina.net/u/438371/blog/1319561.[代码][Python]代码# -*- coding: utf-8 -*-from random import randintfrom math import ceil, floordef _partition(A, l, r, i):"""以A[i]为主元划分数组A[l..r],使得:A[l..m-1] &…

原创:PHP内核研究:HASH表和变量

PHP HASH表 在PHP中,所有的数据 无论变量,常量,类,属性 都用Hash表来实现. 先要说说 HASH表 [c]typedef struct bucket { ulong h; /* Used for numeric indexing */ uint nKeyLength; //key长度 void *p…

Windows 11 小技巧- 安装

Windows 11 依赖于TPM 2.0,什么是TPM呢?TPM技术旨在提供基于硬件的与安全性相关的功能。TPM芯片是⼀个安全的加密处理器,有助于执⾏⽣成、存储和限制加密密钥的使用等操作。TPM芯片包含多重物理安全机制,具有防篡改功能,恶意软件…

如何判断一个人是不是值得深入交流?

全世界只有3.14 % 的人关注了爆炸吧知识每次翻看刚加好友的朋友圈时,都会对 ta 产生直观的判断。如果朋友圈很丰富,往往会觉得 ta 很有趣,会迫切想要和 ta 链接,而看到某些很单调的朋友圈,根本就没有深入沟通的欲望。真…

python 逆向生成正则表达式_用Python中的正则表达式生成lis

我有一个小脚本,用来产生一个预定义的字体和文本图像。我想将其更改为使用多种字体来呈现相同的文本,例如字母A以5种字体呈现。我将我的字体列表定义为:fonts [ Georgia, Consolas, Arial]然后我把它用在:for item in enumerate(…

Restive.js – 轻松让网站变成响应式和自适应

Restive.js 是一个 jQuery 插件,可以帮助您轻松快捷地添加响应式功能到你网站,适应几乎所有拥有 Web 功能的设备。使用设备检测,高级管理断点,以及方向管理的组合,Restive.js 会给你的网站提供一种不可思议的能力。 在…

消息分发的同步均衡策略

2019独角兽企业重金招聘Python工程师标准>>> TimeTunnel在做消息分发时有这样一个场景: A类消息需要做实时分析, 且量很大, 故它的消费者不会只是一台机器, 而是一组机器, 并要求这组中每台机器收到的消息量应该平均的, 即A消息在某个时刻有100条, 若有4台机器消费…

ssh长时间不操作便断开_连接SSH长时间不操作断开解决办法

经常连接ssh长时间不操作就断开,实在忍无可忍,每次都想解决这个问题,但是就是懒得搞,这次必须得一刀解决。解决方法一:服务器配置1、 连接SSHssh root192.168.0.1复制代码2、编辑sshd_configvim /etc/ssh/sshd_config复…

当下流行的直播技术demo演示

nginx-http-flv-module(更新不是很频繁) SRS: https://ossrs.net/lts/zh-cn/(独立官网,目前最新稳定版version5) 基于SRS搭建直播demo演示: 一、搭建流媒体服务器 参见官网:https://ossrs.ne…

SQL复制表

View Code --创建test_employee_info临时表结构&#xff0c;不保留关联关系select * into test_employee_info from employee_info where 1<>1;declare num intset num1while num<6begininsert into test_employee_info select employee_codepcast(num as varchar(1)…

Workflow Core + asp.net core 5.0 实现简单审批工作流

我们知道企业业务系统到处都可以审批工作流的&#xff0c;但也很少有像OA系统一样复杂多级多条件的审批工作流需要设计&#xff0c;所以我们需要一个轻量级的容易上手的workflow框架&#xff0c;通过GitHub,我发现danielgerlag/workflow-core 就非常合适&#xff0c;我下面我通…

python解析xml文件选用模块_python解析xml模块封装代码

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

超1亿人选择朋友圈三天可见,背后的原因值得深思

全世界只有3.14 % 的人关注了爆炸吧知识每次翻看刚加好友的朋友圈时&#xff0c;都会对 ta 产生直观的判断。如果朋友圈很丰富&#xff0c;往往会觉得 ta 很有趣&#xff0c;会迫切想要和 ta 链接&#xff0c;而看到某些很单调的朋友圈&#xff0c;根本就没有深入沟通的欲望。真…

基于HTML5手机上下滑动翻页特效

基于HTML5手机上下滑动翻页特效。这是一款手机移动端触屏滑动翻页代码下载。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <section class"u-alert"><img style"display:none;" src"images/loading_larg…

在Centos中yum安装和卸载软件的使用方法

在Centos中yum安装和卸载软件的使用方法安装方法安装一个软件时yum -y install httpd安装多个相类似的软件时yum -y install httpd*安装多个非类似软件时yum -y install httpd php php-gd mysql卸载一个软件时yum -y remove httpd卸载多个相类似的软件时yum -y remove httpd*卸…