Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Procedimiento almacenado

Estas en el tema de Procedimiento almacenado en el foro de Visual Basic clásico en Foros del Web. HOLA BUEN DIA, TENGO UNA DUDA LA CUAL ES SI MI PROCEDIMIENTO ALMACENADO CORRE PERFECTAMENTE DESDE UN EXEC EN SQL PORQUE CUANDO LO EJECUTO CON ...
  #1 (permalink)  
Antiguo 18/10/2011, 09:01
Avatar de yamiblancoc  
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 12 años, 8 meses
Puntos: 4
Procedimiento almacenado

HOLA BUEN DIA, TENGO UNA DUDA LA CUAL ES SI MI PROCEDIMIENTO ALMACENADO CORRE PERFECTAMENTE DESDE UN EXEC EN SQL PORQUE CUANDO LO EJECUTO CON LOS MISMOS PARAMETROS Y EN EL MISMO ORDEN DEL EXEC ME SALE UNA VENTANA CON ERROR LA CUAL DICE "LA FUNCION O PROCEDIMIENTO TIENE DEMASIADOS ARGUMENTOS"

ESTE ES MI CODIGO EN VB6
Código:
    Dim cmd As New ADODB.Command
   Dim consulta As ADODB.Recordset
     Dim cn As New ADODB.Connection
    
    cmd.CommandText = "PRECOMPROMISO"
    cmd.CommandType = adCmdStoredProc
    cn.Open "driver={Sql Server};server=cies8247;Uid=sa;Pwd=sistemas.2009;Database=SIPREFII"
    
    Set cmd.ActiveConnection = cn
    With cmd.Parameters
        .Append cmd.CreateParameter("@id_item", adVarChar, adParamInput, 100)
        .Append cmd.CreateParameter("@cantidad", adVarChar, adParamInput, 100)
        .Append cmd.CreateParameter("@tipo", adInteger, adParamInput)
        .Append cmd.CreateParameter("@ac_cod", adVarChar, adParamInput, 10)
        .Append cmd.CreateParameter("@ac_proy_cod", adVarChar, adParamInput, 20)
        .Append cmd.CreateParameter("@centro", adInteger, adParamInput)
        .Append cmd.CreateParameter("@pre_an_o", adInteger, adParamInput)
        .Append cmd.CreateParameter("@fecha_fin", adDBTimeStamp, adParamInput)
        .Append cmd.CreateParameter("@partida", adVarChar, adParamOutput, 1000)
    End With
    
    cmd.Parameters("@id_item") = Partida
    cmd.Parameters("@cantidad") = monto
    cmd.Parameters("@tipo") = tipo
    cmd.Parameters("@ac_cod") = ac_esp
    cmd.Parameters("@ac_proy_cod") = acc_proy_cod
    cmd.Parameters("@centro") = lbl_centro_id.Caption
    cmd.Parameters("@pre_an_o") = an_o_actual
    cmd.Parameters("@fecha_fin") = DTPicker1
    
    Set consulta = cmd.Execute()
 
 'AQUI SE SUPONE QUE SE VOLCAN LOS DATOS DEL SP  O NO SE :'(
   
 Do Until consulta.EOF
        Print "partida_cursor=" & consulta("partida_cursor")
        cantida.MoveNext
    Loop
    
    cantidad.Close
    
    Print "no posee disponiilidad en la partida" & cmd.Parameters("@partida")
    Print "registros devueltos="; cmd.Parameters("RETVAl")
        
     End If
Y ESTOS SON MIS PARAMETROS EN SQL

Código:
ALTER  procedure PRECOMPROMISO
@id_item varchar (5000),
@cantidad varchar (1000),

/*VARIABLES PARA SP_DISPONIBILIDAD*/
@tipo int,
@ac_cod varchar(10),
@ac_proy_cod varchar(20),
@centro int,
@pre_an_o int,
@fecha_fin datetime
ESTARE HACIENDO ALGO MAL?¿?
  #2 (permalink)  
Antiguo 18/10/2011, 09:26
Avatar de yamiblancoc  
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 12 años, 8 meses
Puntos: 4
Respuesta: Procedimiento almacenado

ahhh ya lo resolvi!

Código:
  cmd.Parameters.Refresh se coloca esto antes de agregar los parametros y listo!
cmd.Parameters("@id_item") = Partida
    cmd.Parameters("@cantidad") = monto
    cmd.Parameters("@tipo") = tipo
    cmd.Parameters("@ac_cod") = ac_esp
    cmd.Parameters("@ac_proy_cod") = acc_proy_cod
    cmd.Parameters("@centro") = lbl_centro_id.Caption
    cmd.Parameters("@pre_an_o") = an_o_actual
    cmd.Parameters("@fecha_fin") = DTPicker1

Etiquetas: procedimiento, sql, tipo, vb, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:44.