Visual CSharp .NET - Salir del bloque del Código al validar un textbox

 
Vista:

Salir del bloque del Código al validar un textbox

Publicado por Nicolás (7 intervenciones) el 04/02/2010 03:25:03
Hola a todos, mi problema es el siguiente:

Tengo un boton para agregar una Provincia y a la vez tengo una función para validar si los textBox están en blanco. Cual es la sentencia a utilzar (que no sea el goto) para cortar la ejecución del código del boton al validar.

Un abrazo.....y gracias.

Este es mi código:

// Función para validar si los texbox están en blanco

public void Validar()
{
if (txtCodPro.Text.Length == 0 | txtPro.Text.Length == 0)
// Aca debería ir el Código para que se termine la ejecución

}

// Codigo del Boton Agregar y su llamada a la función Validar()

private void btnAgregar_Click(object sender, EventArgs e)
{

// Llamo a la función Validar, para ver si los textbox están en blanco,
// de ser así no debería ejecutar el código siuiente

Validar();

//Obtiene la cadena de conexión
string ConnectionString = global::ClienteForm.Properties.Settings.Default.ServicioGastronomioCnnString;
SqlConnection oCnn;

//Crear la conexión
oCnn = new SqlConnection(ConnectionString);
oCnn.Open();

//Creo el comando

SqlCommand oCmd = new SqlCommand();
oCmd.Connection = oCnn;
oCmd.CommandType = CommandType.StoredProcedure;
oCmd.CommandText = "AgregarProvincia";

// agrego los valores a los parametros

oCmd.Parameters.AddWithValue("@CodPro", Convert.ToInt32(txtCodPro.Text));
oCmd.Parameters.AddWithValue("@Pro", txtPro.Text);

// Ejecuto el comando

//int registros;
oCmd.ExecuteNonQuery();

//Cierro la conexión
oCnn.Close();
MessageBox.Show("La Provincia se agrego correctamente", "Intelligense Monitor", MessageBoxButtons.OK, MessageBoxIcon.Information);
VaciarTextBox(this);

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Salir del bloque del Código al validar un textb

Publicado por roger (77 intervenciones) el 04/02/2010 14:16:57
prueba con la instruccion return;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Salir del bloque del Código al validar un textb

Publicado por Nicolás (7 intervenciones) el 04/02/2010 16:17:05
Roger, probe pero no funciona, me sigue ejecutando el código del boton aceptar a pesar de que los textBox están en blanco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Salir del bloque del Código al validar un textb

Publicado por roger (77 intervenciones) el 04/02/2010 18:24:24
disculpa, no lei el post completo. Mira, cambia la funcion valida para que retorne un valor boleano que indique si la validacion fue exitosa o no

public bool Validar()
{
if (txtCodPro.Text.Length == 0 | txtPro.Text.Length == 0)
// Aca debería ir el Código para que se termine la ejecución
return false;


//Si todo salio bien
return true;
}

y luego desde donde llamas la funcion preguntas

if(validar())
{
//ejecutar el resto del codigo
}
else
{
//la validacion no fue exitosa
}

ó lo que es lo mismo

if(validar()==true)
{
//ejecutar el resto del codigo
}
else
{
//la validacion no fue exitosa
}

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Salir del bloque del Código al validar un textb

Publicado por m (66 intervenciones) el 04/02/2010 21:46:15
Roger tiene razon.
Solo cambiaria Validar a private, y procura pasar el codigo de Salvar o Agregar a otra funcion, asi si Validar==true solo llamas a Salvar.

private void Salvar()
{
try{
//Obtiene la cadena de conexión
string ConnectionString =
//Crear la conexión
.
.
.
.

//Cierro la conexión
oCnn.Close();
MessageBox.Show("La Provincia se agrego correctamente", "Intelligense Monitor", MessageBoxButtons.OK, MessageBoxIcon.Information);
VaciarTextBox(this);
}
catch(Error e)//error al guardar en Db
{
if(oCnn.Open())//cierro la conexion si esta abierta.
oCnn.Close();
MessageBox.Show("La Provincia no se pudo guardar", "Intelligense Monitor", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
}

saludos

.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Salir del bloque del Código al validar un textb

Publicado por Nicolás (7 intervenciones) el 05/02/2010 13:13:43
Una consulta tonta quizas, pero porque recomendas Private y no Public para las funciones.
Cual son las ventajas en mi código?.

Y lo de pasar el código de agregar a una función por si Validar ==True; es solo por una cuestión de visibilidad y mejor entendimiento del evento click del botón o es por algo en especial?

Un abrazo.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Salir del bloque del Código al validar un textb

Publicado por m (66 intervenciones) el 05/02/2010 21:48:22
Contestando a tu pregunta,
pues las ventajas solo son cuestiones de accesibilidad,
cuando la funcion la usas solo en una Forma o Pagina, pues es mejor
ponerla private, como sucede con el evento Click del boton.

Ahora para lo otro lo de separar las funciones se debe a 'Buenas practicas'
cuando escribes codigo es mas legible, se puede reutilizar y/o se puede 'corregir'
mas rapido la funcion cuando esta separada. Esto es porque a medida
que vas avanzando en la codificacion de la Forma cada vez hay mas
codigo que revisar, y algunas veces no eres el unico programador
que agrega codigo. O cuando tiempo despues tu revisas alguna aplicacion
creada, la re-entiendes mas rapido.

//Se guarda el Estado en DB
private void btnAgregar_Click(object sender, EventArgs e)
{
if(Validar())//textos no vacios
Guarda();
else
Message("No se guardo....//
}

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Salir del bloque del Código al validar un textb

Publicado por Nicolás (7 intervenciones) el 08/02/2010 22:54:12
Recien hoy pude ponerme a escribir las validaciones y funcionan barbaro....

GRACIAS......Nico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar