¿como obtener resultado de instruccion sql ejecutada desde vb.net?

Iniciado por Filantropo, 27 Marzo 2020, 04:12 AM

0 Miembros y 1 Visitante están viendo este tema.

Filantropo

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


kub0x

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.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


Filantropo

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.