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."); } }
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."); } }
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; } }
private void DatosCambiados() { // Comando actual: ALTER TABLE // Obtiene nombre tabla if (!Comun.ElegidaTablaDefecto(cmbTablas)) { comandoEnviar.CommandText = textoComandoOriginal + cmbTablas.SelectedItem; lblComando.Content = comandoEnviar.CommandText; // Comando actual: ALTER TABLE <nombre_tabla> // Operación añadir if (txtBoxGenerado != null) { // Obtiene tipo operación comandoEnviar.CommandText += " ADD "; lblComando.Content = comandoEnviar.CommandText; // Comprobar que la opcion no sea la por defecto // Obtiene nombre columna y tipo dato string columna = Comprueba.EliminarResto(txtBoxGenerado.Text); string tipoDato = ""; if (cmbGenerado.SelectedItem != null) { tipoDato = cmbGenerado.SelectedItem.ToString(); } comandoEnviar.CommandText += columna + " " + tipoDato; lblComando.Content = comandoEnviar.CommandText; } // Operacion eliminar else if (cmbGenerado != null) { // Obtiene tipo operación comandoEnviar.CommandText += " DROP COLUMN "; lblComando.Content = comandoEnviar.CommandText; // Comprobar que la opcion no sea la por defecto if (cmbGenerado.SelectedItem != null) { // Obtiene nombre columna comandoEnviar.CommandText += cmbGenerado.SelectedItem.ToString(); lblComando.Content = comandoEnviar.CommandText; } } } // Ninguna operación seleccionada else { // Comando actual: ALTER TABLE comandoEnviar.CommandText = textoComandoOriginal; lblComando.Content = comandoEnviar.CommandText; } }
/// <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); } }
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."); } }
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"); } }
/// <summary> /// Comprueba que el input Contrasenia tenga los datos correctos. /// </summary> private void pwdBoxContrasenia_LostFocus(object sender, RoutedEventArgs e) { PasswordBox datos = (PasswordBox)sender; Colorea.BordeCorrectoErrorDefecto(datos, Comprueba.ContraseniaConexion(datos.Password)); }
/// <summary> /// Comprueba que los inputs de contraseña y repetir contraseña sean correctos. /// </summary> /// <returns>True si los valores de los input son correctos.</returns> private bool ComprobarContrasenias() { return((Comprueba.ContraseniaPrograma(pwdBoxContrasenia.Password) ?? false) && pwdBoxRepetirContrasenia.Password.Equals(pwdBoxContrasenia.Password)); }
/// <summary> /// Comprueba que los inputs de usuario, contraseña y repetir contraseña sean correctos. /// </summary> /// <returns>True si los valores de los input son correctos.</returns> private bool ComprobarCampos() { return((Comprueba.UsuarioPrograma(txtBoxUsuario.Text) ?? false) && (Comprueba.ContraseniaPrograma(pwdBoxContrasenia.Password) ?? false) && ComprobarContrasenias()); }
/// <summary> /// Comprueba que el input de la contraseña tenga datos correctos /// </summary> private void pwdBoxContrasenia_LostFocus(object sender, RoutedEventArgs e) { PasswordBox datos = (PasswordBox)sender; Colorea.BordeCorrectoError(datos, Comprueba.UsuarioPrograma(datos.Password)); }
/// <summary> /// Comprueba que el input del usuario tenga datos correctos /// </summary> private void txtBoxUsuario_LostFocus(object sender, RoutedEventArgs e) { TextBox datos = (TextBox)sender; Colorea.BordeCorrectoError(datos, Comprueba.UsuarioPrograma(datos.Text)); }
/// <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); } }
/// <summary> /// Comprueba que el input Puerto tenga los datos correctos. /// </summary> private void txtBoxPuerto_LostFocus(object sender, RoutedEventArgs e) { TextBox datos = (TextBox)sender; Colorea.BordeCorrectoErrorDefecto(datos, Comprueba.Puerto(datos.Text)); }
/// <summary> /// Comprueba que el input Direccion tenga los datos correctos. /// </summary> private void txtBoxDireccion_LostFocus(object sender, RoutedEventArgs e) { TextBox datos = (TextBox)sender; Colorea.BordeCorrectoError(datos, Comprueba.Direccion(datos.Text)); }
private async void CambioDetectado() { // Espera 5ms para que de tiempo a repintar los componentes await Task.Delay(5); // Mirar cada uno de los campos del formulario para escribir el comando SQL resultante. // Comando original: CREATE TABLE string datos = textoComandoOriginal; List <string> primaryKeys = new List <string>(); // Añado nombre tabla -> CREATE TABLE nombre ( datos += Comprueba.EliminarResto(txtTabla.Text); datos += " ("; // Añadir cada uno de los valores de los textbox, separado por coma junto al tipo de dato // -> CREATE TABLE nombre (columna1 tipodato1, columna2 tipodato2 for (int i = 0; i < numColumnas; i++) { // Obtiene cada TextBox y ComboBox de cada fila CheckBox chkPk = stackCheckBoxes.Children[i] as CheckBox; TextBox txtColumna = stackTextBoxes.Children[i] as TextBox; ComboBox cmbTipoDato = stackComboBoxes.Children[i] as ComboBox; if (chkPk.IsChecked.Value) { primaryKeys.Add(txtColumna.Text); } datos += Comprueba.EliminarResto(txtColumna.Text); datos += " "; if (cmbTipoDato.SelectedItem != null) { datos += Comprueba.EliminarResto(cmbTipoDato.SelectedItem.ToString()); } datos += ", "; } // -> CREATE TABLE nombre (columna1 tipodato1, columna2 tipodato2) // += CONSTRAINT PK_<nombreTabla> PRIMARY KEY (columna2marcado1, columna2marcada2) if (primaryKeys.Count > 0) { datos += " CONSTRAINT PK_" + txtTabla.Text + " PRIMARY KEY ("; foreach (string pk in primaryKeys) { datos += pk + ", "; } datos += ")"; } // Elimina última coma y pone paréntesis de cierre if (datos.Contains(',')) { datos = datos.Remove(datos.LastIndexOf(','), 1); } datos += ")"; // Asigna datos a label y al comando string comandoResultante = Comprueba.EliminarResto(datos); lblComando.Content = comandoResultante; comandoEnviar.CommandText = comandoResultante; }
private void txtbox_TextChanged(object sender, TextChangedEventArgs e) { lblComando.Content = textoComandoOriginal + Comprueba.EliminarResto(txtbox.Text); }