Exemplo n.º 1
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.º 2
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.º 3
0
        private void btnEjecutar_Click(object sender, RoutedEventArgs e)
        {
            int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);

            if (resultado != Operacion.ERROR)
            {
                Msj.Info("Tabla \"" + Comprueba.EliminarResto(txtTabla.Text) + "\" en base de datos " +
                         "\"" + conexionActual.BaseDatos + "\" creada con éxito.");
            }
        }
Exemplo n.º 4
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);

            if (resultado != Operacion.ERROR)
            {
                Msj.Info("Tabla \"" + Comprueba.EliminarResto(cmbTablas.SelectedItem.ToString())
                         + "\" en base de datos " + "\"" + conexionActual.BaseDatos + "\" modificada con éxito.");
                // Reestableciendo tipo operación a por defecto
                cmbTipoOperacion.SelectedIndex = 0;
            }
        }
Exemplo n.º 5
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.º 6
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);

            if (resultado > 0)
            {
                Msj.Info(
                    "Fila en la tabla \"" +
                    Comprueba.EliminarResto(cmbTablas.SelectedItem.ToString()) +
                    "\" en base de datos " + "\"" + conexionActual.BaseDatos +
                    "\" añadida con éxito.");
            }
            else
            {
                Msj.Error("Ninguna fila afectada.");
            }
        }
Exemplo n.º 7
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.º 8
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.º 9
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.º 10
0
        private void btn_Click(object sender, RoutedEventArgs e)
        {
            if (!Comun.ElegidaTablaDefecto(cmbDatos) && !Comun.ElegidaBaseDatosDefecto(cmbDatos))
            {
                comandoEnviar.CommandText = GenerarComandoEnvio(false);

                int resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);
                // Bien
                if (resultado != Operacion.ERROR)
                {
                    Msj.Info(CLICK_OK + "\"" + cmbDatos.SelectedItem + "\"" + " eliminada con con éxito.");
                }

                // Si la base de datos no se ha podido borrar por conexión abierta, preguntar forzado
                if (modoActual.Equals(Modo.DATABASE) && resultado == Operacion.ERROR)
                {
                    MessageBoxResult opcionElegir =
                        MessageBox.Show("Error al eliminar la base de datos.\r\n" +
                                        "¿Desea forzar el borrado?", "Alerta", MessageBoxButton.YesNo,
                                        MessageBoxImage.Warning);

                    if (opcionElegir.Equals(MessageBoxResult.Yes))
                    {
                        comandoEnviar.CommandText = GenerarComandoEnvio(true);
                        resultado = Operacion.ExecuteNonQuery(conexionActual, comandoEnviar);
                        // Bien
                        if (resultado == -1)
                        {
                            Msj.Info(CLICK_OK + "\"" + cmbDatos.SelectedItem + "\"" + " eliminada con con éxito.");
                        }
                    }
                }
            }
            else
            {
                Msj.Error(CLICK_ERROR);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Se comprueban todos los inputs de la ventana y que estos tengan datos correctos.
        /// </summary>
        /// <returns>Devuelve una Conexion si los campos obligatorios tienen valores correctos y los demás
        /// estén vacíos o con valores correctos.</returns>
        private Conexion ComprobarCampos()
        {
            // Campos obligatorios: nombre conexión, dirección, usuario, tipo conexión.

            // El operador ?? operador devuelve el operando izquierdo si no es NULL;
            // de lo contrario, devuelve el operando derecho.

            // Comprueba si el nombre tiene datos correctos o está deshabilitado (modoInvitado)
            if (((Comprueba.Nombre(txtBoxNombre.Text)) || !txtBoxNombre.IsEnabled) &&
                (Comprueba.Direccion(txtBoxDireccion.Text)) &&
                (Comprueba.UsuarioConexion(txtBoxUsuario.Text)) &&
                (Comprueba.Puerto(txtBoxPuerto.Text) ?? true))
            {
                string nombre    = txtBoxNombre.Text;
                string direccion = txtBoxDireccion.Text;
                string usuario   = txtBoxUsuario.Text;
                Conexion.TipoConexion tipo;
                bool ssl = false;

                // Comprobando si el tipo de conexión está marcado
                if (rbtnMicrosoftSQL.IsChecked.Value)
                {
                    tipo = Conexion.TipoConexion.MicrosoftSQL;
                    if (chkIntegratedSecurity.IsChecked.Value)
                    {
                        usuario = Usuario.NombreIntegratedSecurity;
                    }
                }
                else if (rbtnMySQL.IsChecked.Value)
                {
                    tipo = Conexion.TipoConexion.MySQL;
                    if (chkUsarSSL.IsChecked.Value)
                    {
                        ssl = true;
                    }
                }
                else
                {
                    Msj.Error("No se ha marcado el tipo de conexión.");
                    return(null);
                }
                int puerto = 0;
                if (!String.IsNullOrWhiteSpace(txtBoxPuerto.Text))
                {
                    puerto = Int32.Parse(txtBoxPuerto.Text);
                }
                if (puerto == 0)
                {
                    Msj.Info("Puerto no introducido. " +
                             "\r\nObteniendo puerto por defecto para bases de datos " + tipo);
                    puerto = BBDDPrograma.ObtenerPuertoDefecto(tipo);
                }

                string   contrasenia = pwdBoxContrasenia.Password;
                Conexion guardar     = new Conexion(nombre, direccion, puerto, usuario,
                                                    contrasenia, tipo, usuarioActivo, ssl);
                return(guardar);
            }
            else
            {
                Msj.Error("Uno o más campos obligatorios están vacíos o con valores nulos.");
                return(null);
            }
        }