コード例 #1
0
ファイル: ctrBaseDatos.cs プロジェクト: sandtiago/tesispucp
        public static bool respaldarBaseDatos(clsBaseDatos objBaseDatos)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            lstParametrosSQL = crearLista(objBaseDatos);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value = 0;
            sqlParametro.Direction = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value = 0;
            sqlParametro.Direction = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            int numResultado = clsGestorBD.ejecutarStoredProcedureInt("up_ManBaseDatos", lstParametrosSQL);

            if (numResultado != 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
コード例 #2
0
ファイル: ctrBaseDatos.cs プロジェクト: sandtiago/tesispucp
        private static List<SqlParameter> crearLista(clsBaseDatos objBaseDatos)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            foreach (PropertyInfo pi in objBaseDatos.GetType().GetProperties())
            {
                if (pi.CanRead)
                {
                    sqlParametro = new SqlParameter();
                    sqlParametro.ParameterName = "@" + pi.Name;
                    sqlParametro.Value = pi.GetValue(objBaseDatos, null);
                    sqlParametro.Direction = ParameterDirection.Input;

                    lstParametrosSQL.Add(sqlParametro);
                }
            }

            return lstParametrosSQL;
        }
コード例 #3
0
ファイル: ctrBaseDatos.cs プロジェクト: sandtiago/tesispucp
        public static bool restaurarBaseDatos(clsBaseDatos objBaseDatos)
        {
            try
            {
                SqlConnection sqlConexion = clsGestorBD.conectarMaster();

                string strSentenciaSQL = "USE master RESTORE DATABASE " + objBaseDatos.NombreBaseDatos + " FROM DISK = '" + objBaseDatos.Ruta + "' WITH REPLACE, STATS = 10";

                if (clsGestorBD.ejecutarSentenciaSQL(sqlConexion, strSentenciaSQL))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
コード例 #4
0
ファイル: frmPrincipal.cs プロジェクト: sandtiago/tesispucp
        private void smnuRestaurar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Al restaurar el sistema puede que pierda infomación reciente.\nSe recomienda hacer una copia de respaldo antes.\n\n¿Desea continuar?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                OpenFileDialog ofdRestaurar = new OpenFileDialog();
                ofdRestaurar.Title = "Seleccionar archivo de respaldo";

                ofdRestaurar.Filter = "Archivos BAK (*.bak)|*.bak";
                ofdRestaurar.FilterIndex = 2;
                ofdRestaurar.RestoreDirectory = true;

                if (ofdRestaurar.ShowDialog() == DialogResult.OK)
                {
                    FileInfo fi = new FileInfo(ofdRestaurar.FileName);

                    clsBaseDatos objBaseDatos = new clsBaseDatos();
                    objBaseDatos.NombreBaseDatos = "CentroSalud";
                    objBaseDatos.Ruta = fi.FullName;

                    Cursor.Current = Cursors.WaitCursor;

                    if (ctrBaseDatos.restaurarBaseDatos(objBaseDatos))
                    {
                        MessageBox.Show("El sistema se restauró exitosamente", "Restaurado Exitoso", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        MessageBox.Show("Ocurrió un error mientras se intentaba restaurar el sistema", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            Cursor.Current = Cursors.Default;
        }
コード例 #5
0
ファイル: frmPrincipal.cs プロジェクト: sandtiago/tesispucp
        private void smnuRespaldar_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfdRespaldar = new SaveFileDialog();
            sfdRespaldar.Title = "Guardar respaldo como";

            sfdRespaldar.Filter = "Archivos BAK (*.bak)|*.bak";
            sfdRespaldar.FilterIndex = 2;
            sfdRespaldar.RestoreDirectory = true;

            if (sfdRespaldar.ShowDialog() == DialogResult.OK)
            {
                FileInfo fi = new FileInfo(sfdRespaldar.FileName);

                clsBaseDatos objBaseDatos = new clsBaseDatos();
                objBaseDatos.NombreBaseDatos = "CentroSalud";
                objBaseDatos.Ruta = fi.FullName;

                Cursor.Current = Cursors.WaitCursor;

                if (ctrBaseDatos.respaldarBaseDatos(objBaseDatos))
                {
                    MessageBox.Show("Se generó el backup exitosamente", "Respaldo Exitoso", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else
                {
                    MessageBox.Show("Ocurrió un error mientras se intentaba generar el backup", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            Cursor.Current = Cursors.Default;
        }