• Viernes 8 de Noviembre de 2024, 21:01

Autor Tema:  Vb.net No Acepta Parametro De Sql  (Leído 1509 veces)

miky_p

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Vb.net No Acepta Parametro De Sql
« en: Viernes 14 de Julio de 2006, 10:44 »
0
buenas a todos, una consulta stoy haciendo un mantenimiento y quiero insertar un nuevo registro y q me aparesca el numero consecutivo, para esto hice un procedimiento en Sql (con varios type y uno de ellos es un select)y al parecer en Sql Funciona, pero al pasar el parametro de retorno al VB.net es te me retorna 0 y no el numero (habiendo + de 10 filas ya ingresadas)

mi codigo en VB.net es algo asi (esta en una clase)

Código: Text
  1.  
  2. Public Function AREAS_CORRELATIVO() As Int32
  3.         Dim objcn As New SqlConnection("server=.;database=una;uid=sa")
  4.         Dim objcmd As New SqlCommand
  5.  
  6.         objcmd.Connection = objcn
  7.         objcmd.CommandText = "XXX_AREAS"
  8.         objcmd.CommandType = CommandType.StoredProcedure
  9.  
  10.         Dim objpar1 As New SqlParameter("@TYPE", SqlDbType.SmallInt)
  11.         objpar1.Value = 5
  12.         objcmd.Parameters.Add(objpar1)
  13.         .
  14.         .
  15.         .
  16.         Dim objpar7 As New SqlParameter("@SALIDA_Correlativo", SqlDbType.Int)
  17.         objpar7.Direction = ParameterDirection.Output
  18.         objpar7.Value = 0
  19.         objcmd.Parameters.Add(objpar7)
  20.  
  21.         objcn.Open()
  22.  
  23.         AREAS_TRABAJO_INFOP_CORRELATIVO = objcmd.Parameters("@SALIDA_Correlativo").Value
  24. End Function
  25.  
  26.  


la tabla AREA el campo codigo es int
mi codigo en SQL es asi (tiene type = 1 "insert", type = 2 "delete", etc):

Código: Text
  1.  
  2.  
  3. CREATE PROCEDURE XXX_AREAS
  4. (@TYPE smallint,
  5. @CoAr INT, --- SOLO FUNCIONA PARA UPDATE, ELIMINAR, BUSQUEDA
  6. @DeAr VARCHAR(25),
  7. @SALIDA_Correlativo int output)
  8. AS
  9. DECLARE @CORRELATIVO INT
  10. BEGIN
  11.  
  12. -------- INSERTAR
  13.   IF @TYPE = 1
  14.   BEGIN
  15.     INSERT INTO AREA (DeAr) VALUES(@DeAr)
  16.   END
  17.                 .
  18.                 .
  19.                 .
  20.  
  21. ------- NUMERO CORRELATIVO
  22.   IF @TYPE = 5
  23.   BEGIN
  24.        SELECT @CORRELATIVO=COUNT(*) FROM AREA
  25.        SET @SALIDA_Correlativo = @CORRELATIVO + 1
  26.   END
  27. END
  28. GO
  29.  
  30.  

y al probarlo en SQL sale

Código: Text
  1.  
  2. DECLARE @SALIDA_RPARETRA INT
  3. exec XXX_AREAS_DE_TRABAJO_RPARETRA 5, '0', 'Almacen', @SALIDA_Correlativo OUTPUT
  4. PRINT @SALIDA_Correlativo
  5.  
  6. ---------------------------------------------------------------------------
  7. 15
  8.  
  9.  


no entiendo x q no me devuelve el valor, si alguien me pudiera ayudar me seria de mucha ayuda, de ante mano muchas gracias    :huh:  ;)

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Vb.net No Acepta Parametro De Sql
« Respuesta #1 en: Sábado 15 de Julio de 2006, 20:16 »
0
Pues casi estoy seguro que despues de abrir la coneccion te falta poner
Código: Text
  1.  
  2. objcmd.ExecuteNonQuery.
  3.  
  4.  
Si no como vas a ejecutar el procedimiento almacenado jeje  :D
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->