Hola emperador mi consulta es sobre como llamar a un procedimiento almacenado de sql2000 desde vb6 y pasarle parámetros, por ejemplo a unos sp de insert o update, perdona si mi pregunta es muy molesta es que recién me inicio en esto de trabajar con sql y visual
Si lo tengo pero es mucho código, todo depende en mi caso de una clase que maneja que tipo de comando le mandas si es store, si es recordset, si es consulta etc. Este es un ejemplo de como llamar a un stored declaras Dim ObjAccesoDB As AccesoDB Dim VarParametrosIN As Variant VarParametrosIN = Array(txttipoliq.Text, txtmes.Text, txtaños.Text, CodMadreSel, SubColSel, FecPago, txtleyhab.Text, chacumula.Value, Me.txtobserv.Text) StrComandoSQL = "altaCaratula" BytTipoComando = adCmdStoredProc ObjAccesoDB.EjecutarCmd StrComandoSQL, BytTipoComando, , VarParametrosIN MsgBox "Se dio de Alta con exito" ObjAccesoDB. EjecutarCmd StrComandoSQL, BytTipoComando,, VarParametrosIN, VarParametrosOUT DESPUES ESTO VA A LA CLASE TE LA PASO POR ACA, ESPERO QUE ENTIENDAS Public Sub EjecutarCmd(ByVal StrComandoSQL As String, _ ByVal BytTipoComando As Byte, _ Optional ByRef ObjRs As Variant, _ Optional ByVal VarParametrosIN As Variant, _ Optional ByRef varParametrosOUT As Variant) Dim IntIndice As Integer Dim ObjComando As ADODB.Command 'On Error GoTo Errores 'Abro la conexión Abrir Set ObjComando = New Command ObjComando.CommandText = StrComandoSQL ObjComando.CommandType = BytTipoComando 'Tipo Comando es adCmdText ,adCmdStoredProc ObjComando.ActiveConnection = objCon 'Aca se validan los parametros If Not IsMissing(VarParametrosIN) Then ' Trae los parametros del Stored Procedure ObjComando.Parameters.Refresh If ObjComando.Parameters.Count > 1 Then If IsArray(VarParametrosIN) Then For IntIndice = 0 To UBound(VarParametrosIN) ObjComando.Parameters(IntIndice + 1).Value = VarParametrosIN(IntIndice) Next Else ObjComando.Parameters(1).Value = VarParametrosIN End If End If End If 'Aca verifica si existe un recorset por parametro If Not IsMissing(ObjRs) Then Set ObjRs = CreateObject("adodb.Recordset") ObjRs.CursorLocation = adUseClient ObjRs.CursorType = adOpenStatic ObjRs.LockType = adLockOptimistic ObjRs.Open ObjComando Set ObjRs.ActiveConnection = Nothing Else 'Aca ejecuta el Comando y verifica si existen parametros de salida ObjComando.Execute If Not IsMissing(varParametrosOUT) Then Dim objParametro As ADODB.Parameter IntIndice = 0 varParametrosOUT = Array("") For Each objParametro In ObjComando.Parameters If objParametro.Direction = adParamOutput Or objParametro.Direction = adParamInputOutput Then ReDim Preserve varParametrosOUT(0 To IntIndice) varParametrosOUT(IntIndice) = objParametro.Value IntIndice = IntIndice + 1 End If Next Set objParametro = Nothing End If End If Set ObjComando = Nothing 'Cierra la conexión Cerrar Exit Sub CON TODO ESTO, podes llamar a distintos comandos y los parámetros, tantos como sean necesarios ya que actúan como vectores que guardan todo espero que te sirva saludos leandro