Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Procedimiento almacenado y Objeto Command de Visual Basic 6.0

Estas en el tema de Procedimiento almacenado y Objeto Command de Visual Basic 6.0 en el foro de Bases de Datos General en Foros del Web. Hola, tengo un problema con el objeto command, bueno como verán más abajo el objeto command llama a un procedimiento almacenado que esta en sql ...
  #1 (permalink)  
Antiguo 19/03/2003, 00:56
 
Fecha de Ingreso: marzo-2003
Mensajes: 3
Antigüedad: 21 años, 1 mes
Puntos: 0
Procedimiento almacenado y Objeto Command de Visual Basic 6.0

Hola, tengo un problema con el objeto command, bueno como verán más abajo el objeto command llama a un procedimiento almacenado que esta en sql server 2000, enviandole 3 parametros, dos parametros de entrada y uno de salida, no tengo problema con los dos parametros de entrada, pero el de salida me debería enviar un valor de respuesta, en esta instrucción:

msgbox comando.parameters(3).value
pero me envia una cadenavacía, bueno acá va el codigo que lo saque como ejemplo de otra pagina web.


-- 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..
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
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 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:33.