Exemplo n.º 1
0
 /// <summary>
 /// Comprueba si existe una conexión elegida correcta y cambia a ventana Operaciones
 /// </summary>
 private void Conectar()
 {
     // Si existe una conexión elegida correcta, o se está en modo invitado
     // y los inputs tienen los datos de una conexion correcta, cambiar ventana
     if (!modoInvitado)
     {
         if (conexionActual != null)
         {
             if (Test())
             {
                 VentanaOperaciones vo = new VentanaOperaciones(conexionActual);
                 Manejador.CambiarVentana(this, vo);
             }
         }
         else
         {
             Msj.Aviso("No existe una conexión válida guardada");
         }
     }
     else
     {
         if (modoInvitado && (conexionActual = ComprobarCampos()) != null)
         {
             if (Test())
             {
                 VentanaOperaciones vo = new VentanaOperaciones(conexionActual);
                 Manejador.CambiarVentana(this, vo);
             }
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Cambia a la ventana Conexion en modo Invitado.
        /// </summary>
        private void btnInvitado_Click(object sender, RoutedEventArgs e)
        {
            Msj.Aviso("Aviso: funcionalidades de guardado de conexiones no están disponibles en modo invitado.");
            VentanaConexion vc = new VentanaConexion(null);

            Manejador.CambiarVentana(this, vc);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Realiza un test de conexión que informa al usuario de manera visual
        /// si los campos introducidos tienen una conexión válida.
        /// </summary>
        /// <returns>True si la conexión es válida.</returns>
        private bool Test()
        {
            conexionActual = ComprobarCampos();
            if (conexionActual != null)
            {
                // Muestra la conexión actual
                ActualizarConexionActual(conexionActual);
                // Obtiene el resultado
                bool retorno = Operacion.ExecuteTest(conexionActual);

                if (retorno)
                {
                    Msj.Info("Conexión correcta.");
                }
                else
                {
                    Msj.Error("Conexión fallida");
                }
                return(retorno);
            }
            else
            {
                Msj.Aviso("No existe conexión actual guardada correcta.");
                return(false);
            }
        }
Exemplo n.º 4
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            // Comprobación WHERE
            if (!comandoEnviar.CommandText.Contains("WHERE"))
            {
                MessageBoxResult opcionElegida = MessageBox.Show("No se han elegido condiciones. \r\n" +
                                                                 "Se realizará un borrado TOTAL de TODAS las filas. ¿Continuar?",
                                                                 "Peligro", MessageBoxButton.YesNo, MessageBoxImage.Stop);

                if (opcionElegida.Equals(MessageBoxResult.No))
                {
                    return;
                }
            }
            int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);

            if (resultado > 0)
            {
                Msj.Info(
                    resultado + " filas de la tabla \"" +
                    Comprueba.EliminarResto(cmbTablas.SelectedItem.ToString()) +
                    "\" en base de datos " + "\"" + conexionActual.BaseDatos +
                    "\" eliminadas con éxito.");
            }
            else
            {
                Msj.Aviso("Ninguna fila afectada.");
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana ALTER TABLE de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void AlterTable()
 {
     if (HayBBDDSeleccionada())
     {
         VAlterTable vat = new VAlterTable(conexionActual);
         vat.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana CREATE TABLE de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void CreateTable()
 {
     if (HayBBDDSeleccionada())
     {
         VCreateTable vct = new VCreateTable(conexionActual);
         vct.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 7
0
 /// <summary>
 /// Ordena numéricamente según "ID" la lista de conexiones.
 /// En caso de no existir conexiones, lanza un aviso.
 /// </summary>
 private void ListaOrdenarID()
 {
     if (listViewConexiones.Items.Count > 0)
     {
         listaConexiones = new ObservableCollection <Conexion>(listaConexiones.OrderBy(c => c.ID));
         RefrescarConexionesListview();
     }
     else
     {
         Msj.Aviso("No existen conexiones a ordenar");
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana UPDATE de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void Update()
 {
     // Antes comprobar si existe una BBDD seleccionada
     if (HayBBDDSeleccionada())
     {
         VUpdate vu = new VUpdate(conexionActual);
         vu.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana INSERT de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void Insert()
 {
     // Antes comprobar si existe una BBDD seleccionada
     if (HayBBDDSeleccionada())
     {
         VInsert vi = new VInsert(conexionActual);
         vi.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 10
0
 private void ShowTables()
 {
     // Antes comprobar si existe una BBDD seleccionada
     if (HayBBDDSeleccionada())
     {
         VShowTables vst = new VShowTables(conexionActual);
         vst.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 11
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana DELETE de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void Delete()
 {
     // Antes comprobar si existe una BBDD seleccionada
     if (HayBBDDSeleccionada())
     {
         VDeleteFrom vdf = new VDeleteFrom(conexionActual);
         vdf.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 12
0
 /// <summary>
 /// Comprueba si hay una BBDD seleccionada.
 /// Si no la hay, pide al usuario seleccionar una.
 /// Luego abre una ventana DROP TABLE de manera modal,
 /// pasando la conexión actual como parámetro.
 /// </summary>
 private void DropTable()
 {
     if (HayBBDDSeleccionada())
     {
         DbCommand     comando = Comando.DropTable(conexionActual);
         VGenericaDrop vod     =
             new VGenericaDrop(conexionActual, VGenericaDrop.Modo.TABLE);
         vod.ShowDialog();
     }
     else
     {
         Msj.Aviso(MSJ_ELEGIR_BBDD);
     }
 }
Exemplo n.º 13
0
        /// <summary>
        /// Guarda la conexión resultante de los datos actualmente introducidos en base de datos,
        /// o en modo local si se está en modo invitado.
        /// </summary>
        /// <returns>True si la conexión se ha podido guardar.</returns>
        private bool Guardar()
        {
            Conexion guardar = ComprobarCampos();

            if (guardar != null)
            {
                if (!modoInvitado)
                {
                    // Si no está marcado el check de contraseñas, se borran los datos
                    if (chkGuardarContrasenia.IsChecked.Value)
                    {
                        if (Comprueba.ContraseniaConexion(pwdBoxContrasenia.Password) ?? false)
                        {
                            // Todo correcto, se devuelve una conexion guardando contraseña
                            guardar.ContraseniaConexion = pwdBoxContrasenia.Password;
                        }
                        else
                        {
                            Msj.Aviso("Se ha marcado 'guardar contraseña' pero está vacía o con valores nulos.");
                            return(false);
                        }
                    }
                    else
                    {
                        guardar.ContraseniaConexion = "";
                    }
                    ResultadoConexion resultado =
                        BBDDPrograma.RegistrarConexion(guardar);
                    resultado.MostrarMensaje();

                    // Si se guarda, lo almacenamos temporalmente por si se desea acceder directamente
                    if (resultado.ResultadoActual == ResultadoConexion.TipoResultado.ACEPTADO)
                    {
                        conexionActual = resultado.ConexionGuardar;
                        listaConexiones.Add(conexionActual);
                    }
                    return(resultado.ResultadoActual == ResultadoConexion.TipoResultado.ACEPTADO);
                }
                else
                {
                    conexionActual = guardar;
                    return(true);
                }
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 14
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            // Crear datos a guardar
            DatosConsulta datosGuardar = new DatosConsulta(
                paqueteDatos.Conexion, paqueteDatos.Datos, paqueteDatos.ComandoSQL);

            if (Serializador.Guardar(datosGuardar))
            {
                Msj.Info("Datos almacenados correctamente.");
            }
            else
            {
                Msj.Aviso("Error al guardar. Datos no almacenados.");
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// Comprueba si hay una BBDD seleccionada. Si la hay, la deselecciona.
        /// Abre una ventana DROP DATABASE de manera modal,
        /// pasando la conexión actual como parámetro.
        /// </summary>
        private void DropDB()
        {
            if (HayBBDDSeleccionada())
            {
                // Quita la selección de la BBDD actual
                cmbBaseDatos.SelectedIndex = 0;
                SeleccionBBDDCambiada();
                Msj.Aviso("Deseleccionada BBDD elegida");
            }
            DbCommand     comando = Comando.DropDatabase(conexionActual, false);
            VGenericaDrop vod     =
                new VGenericaDrop(conexionActual, VGenericaDrop.Modo.DATABASE);

            vod.ShowDialog();
        }
Exemplo n.º 16
0
        /// <summary>
        /// Abre una conexión Web a una reconocida página de información sobre comandos SQL,
        /// previa petición de permiso al usuario.
        /// </summary>
        private void Ayuda()
        {
            MessageBoxResult opcionElegir =
                MessageBox.Show("Se abrirá una conexión a la web W3SCHOOLS\r\n"
                                + "¿Desea permitirlo?", "Información", MessageBoxButton.YesNo,
                                MessageBoxImage.Information);

            if (opcionElegir.Equals(MessageBoxResult.Yes))
            {
                try
                {
                    Process.Start("https://www.w3schools.com/sql/default.asp");
                }
                catch (Exception)
                {
                    Msj.Aviso("Navegador por defecto no encontrado");
                }
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Muestra un mensaje al usuario correspondiente al tipo de resultado
        /// que se haya producido.
        /// </summary>/// <summary>
        /// Muestra un mensaje al usuario correspondiente al tipo de resultado
        /// que se haya producido.
        /// </summary>
        public void MostrarMensaje()
        {
            switch (ResultadoActual)
            {
            case TipoResultado.ACEPTADO:
                Msj.Info(RESPUESTA_ACEPTADO);
                break;

            case TipoResultado.DENEGADO:
                Msj.Aviso(RESPUESTA_DENEGADO);
                break;

            case TipoResultado.ERROR:
                Msj.Error(RESPUESTA_ERROR);
                break;

            default:
                break;
            }
        }
Exemplo n.º 18
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            if (txtbox.Text.Length > 0)
            {
                if (Comprueba.ContieneSeparadorSQL(txtbox.Text))
                {
                    Msj.Aviso("Detectado separador SQL. Sólo se ejecutará: " + comandoEnviar.CommandText);
                }
                comandoEnviar.CommandText = textoComandoOriginal + Comprueba.EliminarResto(txtbox.Text);

                int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);
                if (resultado != Operacion.ERROR)
                {
                    Msj.Info("Base de datos \"" + Comprueba.EliminarResto(txtbox.Text) + "\" creada con éxito.");
                }
            }
            else
            {
                Msj.Aviso("Debes introducir un nombre");
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// Intenta cargar datos de un fichero de una consulta SELECT previamente creado.
        /// Si lo consigue, muestra metadatos del archivo por medio de una ventana de información,
        /// luego muestra los datos del fichero en una ventana Mostrar Datos no modal.
        /// En caso contrario, muestra un mensaje de aviso al usuario.
        /// </summary>
        private void Cargar()
        {
            DatosConsulta datosCargados = Serializador.Cargar();

            if (datosCargados != null)
            {
                var c = datosCargados.Conexion;
                // Mostrar información del archivo
                string informacion =
                    "Base de datos \"" + c.BaseDatos + "\" tipo \"" + c.TipoActual +
                    "\"\r\nFecha consulta: " + datosCargados.FechaCreacion;
                Msj.Info(informacion);

                VMostrarDatos vmd = new VMostrarDatos(datosCargados);
                vmd.Show();
            }
            else
            {
                Msj.Aviso("No se ha podido cargar el fichero seleccionado");
            }
        }
Exemplo n.º 20
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // Saco la información del textbox de su izquierda
            string    nombreTabla = (((sender as Button).Parent as Grid).Children[1] as TextBox).Text;
            DbCommand comando     = Comando.Select(conexionActual);
            string    txtComando  = comando.CommandText;

            txtComando          = txtComando.Replace(Comando.PARAMS[0], "*");
            txtComando          = txtComando.Replace(Comando.PARAMS[1], nombreTabla);
            txtComando          = txtComando.Replace(Comando.PARAMS[2], "");
            txtComando          = txtComando.Replace(Comando.PARAMS[3], "");
            comando.CommandText = txtComando;


            object comprobarComando = Operacion.ExecuteScalar(conexionActual, comando);

            if (comprobarComando != null)
            {
                int resultado = 0;
                Int32.TryParse(comprobarComando.ToString(), out resultado);
                if (resultado != Operacion.ERROR)
                {
                    // Al menos hay una fila que mostrar
                    IDataReader readerSelect = Operacion.ExecuteReader(conexionActual, comando);
                    DataTable   datosMostrar = new DataTable();
                    datosMostrar.Load(readerSelect);
                    DatosConsulta paqueteDatos = new DatosConsulta(conexionActual, datosMostrar, comando.CommandText);
                    VMostrarDatos vmd          = new VMostrarDatos(paqueteDatos);
                    vmd.Show();
                }
            }
            else
            {
                Msj.Aviso("Ninguna fila encontrada.");
            }
        }
Exemplo n.º 21
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            object comprobarComando = Operacion.ExecuteScalar(conexionActual, comandoEnviar);

            if (comprobarComando != null)
            {
                int resultado = 0;
                Int32.TryParse(comprobarComando.ToString(), out resultado);
                if (resultado != Operacion.ERROR)
                {
                    // Al menos hay una fila que mostrar
                    IDataReader readerSelect = Operacion.ExecuteReader(conexionActual, comandoEnviar);
                    DataTable   datosMostrar = new DataTable();
                    datosMostrar.Load(readerSelect);
                    DatosConsulta paqueteDatos = new DatosConsulta(conexionActual, datosMostrar, comandoEnviar.CommandText);
                    VMostrarDatos vmd          = new VMostrarDatos(paqueteDatos);
                    vmd.Show();
                }
            }
            else
            {
                Msj.Aviso("Ninguna fila encontrada.");
            }
        }