Visual Basic.NET - Try catch en datagridview

 
Vista:
sin imagen de perfil
Val: 34
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Try catch en datagridview

Publicado por apis (124 intervenciones) el 26/03/2008 05:56:44
Hola! tengo una duda, tengo un datagridview el cual pienso utilizar para que el usuario modifique ahi los datos, entonces tengo un campo unique por ejemplo el nombre de un usuario, entonces si agrega o modifica un usuario y pone un nombre de usuario repetido sale un error muy largo en el sistema, entonces me puse a ver las propiedades y en el evento DataError del datagridview puse esto:
Try
Catch ex As System.Data.ConstraintException
MessageBox.Show("El nombre ya existe. Favor de teclear un nombre diferente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Return
Catch ex As System.Data.SqlClient.SqlException
MessageBox.Show("Ocurrio un error de SQL", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Catch ex As Exception
MessageBox.Show("Ocurrio un error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
End Try
pero nunca entra a ninguna excepcion, cual es la forma correcta? si no lo pongo me sale el error pero con todo el stack de error y yo quisiera poner un error personalizado, para guardar pues uso el dataset generado por asistente, un binding source y un table adapter.
Agradecere 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
sin imagen de perfil

RE:Try catch en datagridview

Publicado por P. J. (706 intervenciones) el 26/03/2008 15:42:41
Ah ...

Prueba con esto:
Try
'código agregar ó modificar
Catch ex As ConstraintException
MsgBox("Ya existe.", MsgBoxStyle.Information)
End Try

Pero cuando cargas o creas tu datatable, defines el campo unico:

Dim dcllave As New DataColumn
dcllave = datatable.Columns(0)
datatable.PrimaryKey = New DataColumn() {dcllave}
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
sin imagen de perfil
Val: 34
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

RE:Try catch en datagridview No funciona

Publicado por apis (124 intervenciones) el 27/03/2008 20:06:49
Asi lo tengo mi datatable tiene el campo unico, de hecho si pongo un boton de guardar con el mismo codigo del try catch si me muestra el alert cuando presiono el boton guardar, pero si lo uso directo desde el datagridview de querer agregar uno nuevo no me pone ningun messagebox no me lo agrega pero no me muestra nada en el message box de hecho no entra a ninguna excepcion ni aunque ponga el exception que atrapa cualquier tipo de excepcion
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