C#操作SQL数据库进行备份

  HTML代码:主要为一个Form表单

    <form class="form-horizontal">
            <div class="panel-body" style="height:400px">
                <div class="row reset-row" style="margin-top:20px;">
                    <label class="col-md-2"></label>
                    <div class="control-label col-lg-2 col-md-2 col-sm-2">请选择文件路径:</div>
                    <div class="col-md-6">
                        <input type="text" class="form-control " id="StrPathtxt" name="JCKaiShiShiJian" />
                    </div>
                    <button type="button" class="btn btn-success" id="SelectPath">
                        <span class="glyphicon glyphicon-file"></span>&nbsp;备 份
                    </button>
                </div>
                <div class="row reset-row" style="margin-top:20px;">
                    <label class="col-md-2"></label>
                    <div class="control-label col-lg-2 col-md-2 col-sm-2">输入服务器名称:</div>
                    <div class="col-md-6">
                        <input type="text" class="form-control " id="ServiceNametxt" name="JCKaiShiShiJian" />
                    </div>
                </div>
                <div class="row reset-row" style="margin-top:20px;">
                    <label class="col-md-2"></label>
                    <div class="control-label col-lg-2 col-md-2 col-sm-2">数据库名称:</div>
                    <div class="col-md-6">
                        <input type="text" class="form-control " id="DataStoreroomNametxt" name="JCKaiShiShiJian" />
                    </div>
                </div>
                <div class="row reset-row" style="margin-top:20px;">
                    <label class="col-md-2"></label>
                    <div class="control-label col-lg-2 col-md-2 col-sm-2">备份文件名称:</div>
                    <div class="col-md-6">
                        <input type="text" class="form-control " id="FileNametxt" name="JCKaiShiShiJian" />
                    </div>
                </div>
            </div>
        </form>

Js代码 使用post将获取到的服务器名称、数据库名称、备份文件名称以及文件路径传到控制器

  $("#SelectPath").click(function () {
            var ServiceNametxt = $("#ServiceNametxt").val();
            var DataStoreroomNametxt = $("#DataStoreroomNametxt").val();
            var FileNametxt = $("#FileNametxt").val();
            var StrPathtxt = $("#StrPathtxt").val();
            if (ServiceNametxt != "" && DataStoreroomNametxt != "" && FileNametxt != "" && StrPathtxt != "") {
                $.post("/DatabaseBackup/DatabaseBackup/CopyDataStoreRoom", {
                    ServiceNametxt: ServiceNametxt,DataStoreroomNametxt: DataStoreroomNametxt, FileNametxt: FileNametxt,
                    StrPathtxt: StrPathtxt
                }, function (data) {
                    if (data == "success") {
                        layer.alert("数据备份成功!", { skin: 'layui-layer-molv', title: '提示' })
                    }
                    else {
                        layer.alert("数据备份失败!", { skin: 'layui-layer-molv', title: '警告'}); }
                }); }
            else {
                layer.alert("请完善数据再进行备份操作!", { skin: 'layui-layer-molv', title: '警告'});
            }



        });

后台代码:将获取到的数据库名称等信息去空后作参数传入方法

   //备份
        public ActionResult CopyDataStoreRoom()
        {
            try
            {
                StrServiceName = Request.Form["ServiceNametxt"].Trim();
                StrPath = Request.Form["StrPathtxt"].Trim();
                string DBO = Request.Form["DataStoreroomNametxt"].Trim();//数据库名称
                string NameFile = Request.Form["FileNametxt"].Trim();//备份的数据库名称
                int i = SQLBeiFengBak(DBO, NameFile);//S传递参数给方法、
                return Json("success", JsonRequestBehavior.AllowGet);
            }
            catch (Exception)
            {
                return Json("数据异常!", JsonRequestBehavior.AllowGet);
            }
        }

下面是对数据库、对路径的操作,其中拼接SQL语句以及打开数据库、执行条件等。

  public static SqlConnection Connect;
        public string StrServiceName = "";
        public string StrPath = "";
        int SQLBeiFengBak(string YYG, string NameFile)
        {
            string connString = @"Data Source='" + StrServiceName + "';Initial Catalog=HosptalZQ;  User ID=sa;Password=123";


            //string path =strLuJing+"\\";
            string strpath = "" + StrPath + "\\";
            strpath = strpath.Substring(0, strpath.LastIndexOf("\\"));//截取路径

            //  strg += @"\Backup";//添加路径信息
            string sqltxt =//设置SQL字符串 数据库备份语句
                @"BACKUP DATABASE " + YYG + " TO Disk='" + strpath + "\\" + NameFile + ".bak" + "'";

            Connect = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sqltxt, Connect);//定义一个SqlCommand类对象,创建连接对象,获取SQL命令和连接
            Connect.Open();//打开数据库连接
            int StrReturn = Convert.ToInt32(cmd.ExecuteNonQuery());//执行一个非查询条件
            Connect.Close();//关闭数据库连接
            Connect.Dispose();//释放数据库连接资源
            return StrReturn;
        }

效果:

成功后为bak文件

 

 

 

 

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值