El Guru Programador
Usuario DESCONOCIDO | Registrate Gratis | Usuarios Registrados
Foro de Microsoft SQL Server
Foros del Guru > Microsoft SQL Server
Usuario Procedimiento almacenado y Objeto ...
Desconocido
Enviado - 19/3/2003
 
Hola tengo un pequeño problema con un codigo que baje sobre como llamar a un procedimiento almacenado en sql server 97, este codigo que aparecerá al final, se trara de un formulario de visual basic 6 que tiene un boton que llama a un procedimiento almacenado entregandole 3 parametros 2 de los cuale so parametros de entrada en lo cual no hay problema, es el tercer parametro que tiene problema ya que este parametro me debería devolver un valor al llamarlo asi:

msgbox comando.parameters(3).value

pero me devuelve una cadean vacía, bueno aquí va e codigo:


-- 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 @id=@@identity
go
-- para probar que funciona.. en sql analyzer
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

 
 

 

Contactos myStudio Network