Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2011, 09:01
Avatar de yamiblancoc
yamiblancoc
 
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 13 años, 2 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?¿?