Aviso de error de validacion

24/03/2008 - 12:42 por Heriberto Díaz | Informe spam
Estoy colocando una regla a una tabla que es una expresion 'Debe>=Haber'.
(check restriction)

Quiero que cuando me avise que se ha violado esa regla ponerle un mensaje
de aviso distinto al que sale ya que los usuarios no lo entienden.
Donde se cambia el texto del aviso de error?


SQL 2005
 

Leer las respuestas

#1 Jesús López
24/03/2008 - 18:23 | Informe spam
Se cambia en la aplicación cliente. Algo que se puede hacer es buscar el
nombre de la restricción en el mensaje de error. Por ejemplo si la tabla es:

CREATE TABLE Cuentas(
IdCuenta int IDENTITY(1,1) PRIMARY KEY,
Debe money,
Haber money,
CONSTRAINT CK_DebeMayorHaber CHECK( Debe >= Haber)
)


Podrías hacer algo así:

Try
' Actualizar o insertar en la tabla
Catch ex As SqlException
If ex.Message.Contains("CK_DebeMayorHaber") Then
MsgBox ("El debe tiene que ser mayor o igual que el haber")
ElseIf ex.Message.Contains("El nombre de otra restricción") Then
MsgBox("Un mensaje de error adecuado")
ElseIf .

Else
MsgBox("Error al realizar la operación, contacte con el servicio
Técnico")
RegistrarErrorParaQueLuegoLoVeaElServicioTécnico( ex )
End If
End Try


Otro enfoque a este problema sería tener una tabla de traducción de errores
con el mensaje de error y la traducción para el usuario, y cuando se produce
un error buscar la traducción y presentársela al usuario. Si el mensaje de
error no se encuentra en la tabla de traducciones podría añadirse para más
adelante asignarle una traducción, así poco a poco se iría mejorando...


Saludos:


Jesús López
www.solidq.com







"Heriberto Díaz" escribió en el mensaje
news:
Estoy colocando una regla a una tabla que es una expresion 'Debe>=Haber'.
(check restriction)

Quiero que cuando me avise que se ha violado esa regla ponerle un mensaje
de aviso distinto al que sale ya que los usuarios no lo entienden.
Donde se cambia el texto del aviso de error?


SQL 2005


Preguntas similares