创建一个备份表格 [英] creating a backup form

查看:84
本文介绍了创建一个备份表格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单,当单击备份按钮时,它将备份我的数据库.备份
位置应取自txtbackuppath.备份的名称应为
短信+当前日期.我尝试了一些,但是在''.''附近出现错误语法不正确.
请帮帮我

i have a form which will backup my db when the backup button is clicked. the backup
location should be taking from txtbackuppath. the name of the backup should be
SMS + the current date. i tried some this but i get the error Incorrect syntax near ''.''.
pls help me out

private void btnBrowes_Click(object sender, EventArgs e)
        {
            // open folder dialog
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            fbd.ShowDialog();

            this.txtBackuppath.Text = fbd.SelectedPath.ToString();
        }

        private void btnBackup_Click(object sender, EventArgs e)
        {
           //Connect to DB 
            SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
            conn.ConnectionString = "Data Source=MICKY-PC;Initial Catalog=SMS;User ID=sa;Password=mike";
                                     
            string backuppath;
            backuppath = this.txtBackuppath.ToString();

            SqlCommand cmd = new SqlCommand();
            string sqlQuery = null;
            sqlQuery = "backup database SMS to disk = ''" + backuppath + "' + 'SMS' + DateTime.Now.ToShortDateString()'";

            cmd.Connection = conn;
            cmd.CommandText = sqlQuery;
            cmd.CommandType = System.Data.CommandType.Text;
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
                MessageBox.Show("The backup was successfully performed");
        }

推荐答案

可能是您的短日期字符串-包含"/"字符.
代替
Probably, it is your short date string - it contains "/" characters.
Instead of
DateTime.Now.ToShortDateString();

尝试

DateTime.Now.ToString("yyyy-MM-dd");

将其以ISO格式显示.
您还想从sql语句中删除一些单引号...

Which will put it in ISO format.
You also want to remove some of the single quotes from your sql statement...

string sqlQuery = "backup database SMS to disk = ''''" + backuppath + "'' + ''SMS'' + DateTime.Now.ToShortDateString()''";


生成:


generates:

backup database SMS to disk = ''''D:\temp\'' + ''SMS'' + DateTime.Now.ToShortDateString()''


所以您可能想要:


so you probably want:

string sqlQuery = "backup database SMS to disk = ''" + backuppath + "SMS" + DateTime.Now.ToString("yyyy-MM-dd")+ "''";


会生成:


which generates:

backup database SMS to disk = ''D:\temp\SMS2012-07-20''


这篇关于创建一个备份表格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆