Utilizo la clase system.Data.sqlClient desde una app de vb.net y se conecta a una bd que se encuentra en sql server 2012
como podria mi app obtener un valor de retorno de las operaciones sql realizadas? Algo parecido a:
Borrado = BorrarRegistro (idcliente)
If borrado then
Msgbox "borrado correctamente"
Else
Msgbox "no se pudo.borrar"
End if
Tambien seria util conocer detalles adicional de ese resultado parecido a GetLastError:
Inser = InsertarCliente (nomb, apell)
If insert then
Msgbox "insertado correctamente"
Else
Select case GetlLastErrorSql()
Case PK_YA_EXISTE
Msgbox "ya existe el cliente"
Case UNIQ_YA_EXISTE
Msgbox "hay un valor duplicado"
Case FK_ERROR
Msgbox "clave foranea incorrecta"
........
Borrado = BorrarRegistro (1)
If borrado then
Msgbox "borrado correctamente"
Else
Select Case GetLastErrorSql ()
Case FORE_KEY
Msgbox "No se pudo borrar porque hay un registro vinculado a este"
Case ..............
End if
Hola,
el método ExecuteNonQuery devuelve un entero que especifica el número de filas afectadas por la sentencia. En caso de existir un error, se genera un objeto del tipo SqlException (necesitas try-catch) el cual tiene toda la información necesaria para determinar la causa del error https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlexception?view=netframework-4.8
Saludos.
Cita de: kub0x en 27 Marzo 2020, 12:10 PM
Hola,
el método ExecuteNonQuery devuelve un entero que especifica el número de filas afectadas por la sentencia. En caso de existir un error, se genera un objeto del tipo SqlException (necesitas try-catch) el cual tiene toda la información necesaria para determinar la causa del error https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlexception?view=netframework-4.8
Saludos.
Gracias eso era.