Beispiel #1
0
        private void BtnRestore_Click(object sender, EventArgs e)
        {
            SqlConnection SqlCN = null;
            SqlConnectionStringBuilder ayudante = new SqlConnectionStringBuilder();

            openFileDialog1.Filter   = "Database Backup File|*.bak";
            openFileDialog1.Title    = "Restaurar Base de Datos";
            openFileDialog1.FileName = "";

            //SqlConnectionStringBuilder ayudante = new SqlConnectionStringBuilder();
            ayudante.UserID = "sa";//"admin";
            //ayudante.Password = "******";//"admin_punto_venta_adminlogin_1029384756";
            ayudante.InitialCatalog = "master";
            ayudante.DataSource     = Settings.Default.Server.Trim();//"localhost";

            SqlCN = new SqlConnection(ayudante.ToString());
            SqlCN.Open();

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if (MessageBox.Show(this, "Estas acciones harán que el sistema SoftNet-Punto de Venta se reinicie para así adoptar sin errores los nuevos cambios realizados en la base de datos. ¿Está seguro que desea proceder con estas acciones?", "Atención", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                {
                    try
                    {
                        Program.oPersistencia.conexion.Dispose();
                        Program.oPersistencia.conexion.Close();
                        Persistencia oPersistencia = new Persistencia("", "", "");

                        string d = "drop database Punto_Venta";

                        string s = "";
                        s = "use master restore database Punto_Venta from disk = '" + Program.oComprobaciones.DevuelveCadenaCorrectaParaSentenciaSQL(openFileDialog1.FileName.Trim()) + "' with recovery, stats = 10";

                        SqlCommand oSqlCommand = new SqlCommand(s, SqlCN);

                        oSqlCommand.ExecuteNonQuery();

                        MessageBox.Show("Has been restored database", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (SqlException ds)
                    {
                        MessageBox.Show(ds.Message.Trim());
                    }

                    Cursor.Current = Cursors.WaitCursor;

                    try
                    {
                        //Program.oPersistencia.ejecutarSQL("use master restore database Punto_Venta from disk = '" + openFileDialog1.FileName.Trim() + "'");//, connect);  //'c:\SQLBackup\wcBackUp1.bak'"

                        //Cmd.ExecuteNonQuery();

                        //MessageBox.Show("Has been restored database", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        //Application.Restart();
                    }
                    catch (Exception exp)
                    {
                        MessageBox.Show(exp.Message);
                    }
                }
            }
        }