Пример #1
0
        private void Backup()
        {
            string content = this._buttonBackup.Content.ToString();

            this._buttonBackup.Content = "正在备份...";
            this._buttonBackup.UpdateUIEvents();
            string dirPath = string.Format(@"{0}\backup", System.Windows.Forms.Application.StartupPath);

            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }
            string bakPath = string.Format(@"{0}\Statement.{1}.bak", dirPath, DateTime.Now.ToString("yyyyMMdd.HHmmss"));
            var    conn    = new StatementContext().Database.Connection;
            var    cmd     = conn.CreateCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = string.Format("BACKUP DATABASE Statement TO DISK ='{0}'", bakPath);
            try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show(string.Format("数据已备份至\n\"{0}\"", bakPath));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\n" + ex.StackTrace);
            }
            finally
            {
                conn.Close();
                this._buttonBackup.Content = content;
            }
        }