Visual Basic.NET - Saber Exceptiテウn

 
Vista:

Saber Exceptiテウn

Publicado por Miguel テ]gel casalisanchez@gmail.com (20 intervenciones) el 18/07/2019 01:16:50
Hola !!! Por favor, me gustarテュa saber como saber que error (Exception) se produce, para asテュ poder actuar en consecuencia.
En el siguiente cテウdigo, intento que si el usuario ha ingresado en tu textBox un valor nulo, me lo detecte y me lance mi MsgBox con mi mensaje personalizado, y lo mismo con una clave duplicada en un textBox que ambos estテ。n vinculados a una base de datos.
Muchテュsimas gracias !!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub TrabajadoresBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrabajadoresBindingNavigatorSaveItem.Click
    Try ' Controlo el error al salvar un item
        Me.Validate()
        Me.TrabajadoresBindingSource.EndEdit()
        Me.TrabajadoresTableAdapter.Update(Me.RegistrosDataSet.Trabajadores)
    Catch Ex As Exception
        MsgBox(Ex.Message, MsgBoxStyle.Critical, "Error producido")
    >>>>>>> ' LO QUE SIGUE Esto es lo que yo quisiera :-(   <<<<<<<<<
    If DNITextBox.Text = "" Then '>>>>>>> o Catch Ex As ErrorDeCampoNull y ErrorDeCaveUnicaDuplicada<<<<<<<<<
            Dim Msj As String
            Msj = "No se puede dejar," & Chr(13) & " el campo DNI del trabajador vacテュo."
            MsgBox(Msj, MsgBoxStyle.Exclamation, "Campo obligatorio vacテュo:")
            DNITextBox.Focus() 'Si estテ。 vacテュo pon el foco
        End If
    End Try
End Sub

Mas que nada, serテュa para controlar mas los errores e indicarle al Usuario que lo ha producido y que ha de hacer para solventarlo.

Unos cuantos millones de gracias por su ayuda ;-)
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 Phil Rob
Val: 1.764
Oro
Ha mantenido su posiciテウn en Visual Basic.NET (en relaciテウn al テコltimo mes)
Grテ。fica de Visual Basic.NET

Saber Exceptiテウn

Publicado por Phil Rob (434 intervenciones) el 18/07/2019 12:00:16
Hola,

No respondo exacto a tu pregunta pero espero te ayudar.

Creo que tiene que hacer muchos controles durante la introducciテウn de los datos.
Si un TextBox este vicia, poner el Focus en le, si un zona debe contener un numテゥrico, verificar que no contiene de carテ。cter alfabテゥtica, un debe contener un numテゥrico Float, verificar el separador de decimales, 窶ヲ
Todos aquellos controles son fテ。ciles a hacer en el evento Leave de la zona de introducciテウn.

Por ejemplo :

1
2
3
4
5
6
7
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
        If TextBox15.Text = "A" Then
            MessageBox.Show("Error, tienes que dar un numerico")
            TextBox1.Clear()
            TextBox1.Select()
        End If
    End Sub

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

Saber Exceptiテウn

Publicado por Miguel テ]gel (20 intervenciones) el 18/07/2019 20:24:30
Muchas gracias !!!
Pero lamentablemente no es la soluciテウn que busco ;-(
Mi pregunta se refiere a quテゥ me tengo que referir en la lテュnea siguiente:
Catch Ex As (excepciテウn a la que me tengo que referir para evitar valor Null en la Base de Datos)
o
Catch Ex As (excepciテウn a la que me tengo que referir para evitar una clave テコnica duplicada en la Base de Datos)

Muchas gracias ;-)
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 Phil Rob
Val: 1.764
Oro
Ha mantenido su posiciテウn en Visual Basic.NET (en relaciテウn al テコltimo mes)
Grテ。fica de Visual Basic.NET

Saber Exceptiテウn

Publicado por Phil Rob (434 intervenciones) el 18/07/2019 21:57:06
Comprendo.
Pero creo que no existe la repuesta a tu pregunta.
Este es la razon por cual propongo de anticipar los errores ...

Buena suerte
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

Saber Exceptiテウn

Publicado por Miguel テ]gel casalisanchez@gmail.com (20 intervenciones) el 18/07/2019 22:27:34
Entonces, cテウmo puedo saber si una clave テコnica estテ。 duplicada en una base de datos, si el usuario teclea en un TextBox?
Muchas gracias!!!
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 Wilfredo Patricio Castillo
Val: 1.315
Oro
Ha mantenido su posiciテウn en Visual Basic.NET (en relaciテウn al テコltimo mes)
Grテ。fica de Visual Basic.NET

Saber Exceptiテウn

Los errores o las excepciones hay que prevenirlos, no lanzar mensajes luego de haber ocurrido cuando ya es tarde.

Prevenir es tan sencillo como hacer algo asテュ antes de grabar.

1
2
3
4
5
if( string.IsNullOrEmpty(textBox1.Text))
{
    MessageBox.Show("No puede dejar este dato vacテュo", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    textBox1.Focus();
}

Si bien es cierto que este cテウdigo es para C#, es lo mismo en VB.NET

Y con respecto a saber si metes o no un valor o clave duplicada, primero, la base de datos debe estar preparada para ello y evitarlo, la principal, serテュa tener una clave テコnica que evite claves duplicadas y de esa manera lo rechazarテ。, ya que no solo debe responder a tu aplicaciテウn.

Si ademテ。s de eso lo quieres averiguar, la mejor manera serテュa haciendo una consulta a la tabla por el valor a ingresar, si ya figura registrada, lanzas el mensaje antes que lo grabes.

Saludos cordiales,
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

Saber Exceptiテウn

Publicado por Miguel テ]gel (20 intervenciones) el 19/07/2019 11:55:34
Muchas gracias!!!
Pero es tan cテウmodo
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