Ayuda con un stored procedure por favor!!!

mmvb
20 de Mayo del 2004
hola tengo un problema con un stored procedure que llamo desde visual
basic estoy usando adodb y por alguna razon no lo puedo ejecutar esto
es lo que estoy haciendo...

(el codigo lo encontre en un foro)
Set oCmd = New ADODB.Command
oCmd.Parameters.Append oCmd.CreateParameter("Nombre", adVarChar,
adParamInput, 80, lsNombre)
oCmd.CommandText = "sp_Traer_Cliente"
oCmd.CommandType = adCmdStoredProc
Set oCmd.ActiveConnection = oCon
set rs = oCmd.Execute

rs un ADODB.recorset

tambien trate de meterlo en un string todo
"exec sp_Traer_Cliente 'Parametro"
y despues hacer un set rs = conexxion.execute y pasarle el string
pero no funciona

El error que me da es:
"operation is not allowed when the object is close"
(cuando pregunto por rs.eof)

no se si es problema de permisos ya que le dí todos los permisos

por favor si alguien me puede dar una mano ...

Isa?
20 de Mayo del 2004
Analice este codigo y vea que le hace falta:

Algunas veces es necesario que un procedimiento almacenado nos devuelva no un recorset
como ya hemos visto,sino recoger valores devueltos,
como un código o el número de registros afectados, etc..,
-- Procedimientos con parametros de salida .....
Create procedure spAñadirCliente
@Nombre varchar(80),
@id int output
as
set nocount off
insert into clientes values(@nombre)
set @[email protected]@identity
go
-- para probar que funciona..
Declare @id int
exec spAñadircliente 'Miguel Egea',@id output
print @id
go

-- Ahora desde Visual Basic ...
Option Explicit
Dim oCon As New ADODB.Connection
Dim oCmd As ADODB.Command


Private Sub cmdAñadirCliente_Click()
Dim lsNombre As String
Dim lnNumero As Long

lsNombre = InputBox("Introduzca un nombre de cliente", "Añadir clientes")
If lsNombre <> "" Then
msConectar
Set oCmd = New ADODB.Command
oCmd.Parameters.Append oCmd.CreateParameter("Nombre", adVarChar, adParamInput, 80, lsNombre)
oCmd.Parameters.Append oCmd.CreateParameter("id", adInteger, adParamOutput, 3, lnNumero)
oCmd.CommandText = "spAñadirCliente"
oCmd.CommandType = adCmdStoredProc
Set oCmd.ActiveConnection = oCon
oCmd.Execute
MsgBox "El Código es " & oCmd.Parameters(1).Value
msDesconectar
End If
End Sub

Private Sub msConectar()
oCon.Provider = "sqloledb"
oCon.Properties("Data Source").Value = "SUSERVIDOR" ' Ponga aquí el nombre de su servidor
oCon.Properties("Initial Catalog").Value = "SUBASEDEDATOS"
oCon.Properties("User id").Value = "sa" ' o nombre de usuario que desee.
oCon.Properties("Password") = ""
oCon.Open
End Sub

Private Sub msDesconectar()
oCon.Close
End Sub