Visual Basic - Ayuda con Proc. Almacenados y Vb 6.0

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con Proc. Almacenados y Vb 6.0

Publicado por Koyote (3 intervenciones) el 25/03/2006 16:04:16
Hola, tengo este procedimiento almacenado en sql server 7.0
-----------------------------------------------------------------------------
CREATE PROCEDURE LISTAR_ARTICULOS
@COD_PRODUCTO AS VARCHAR(10)
AS
SET NOCOUNT ON
SELECT*
FROM PRODUCTOS
WHERE COD_PRODUCTO = @COD_PRODUCTO
RETURN
-------------------------------------------------------------------------------

luego lo llamo desde mi aplicacion vb 6.0 y este es el codigo

LOS DATOS QUE VOY A PASAR AL PROCEDIMIENTO LOS TOMO DESDE UN TEXTBOX
TEXT1.TEXT=COD200

Dim conex As New ADODB.Connection
Dim cn As New ADODB.Command
conex.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=intl; " & _
"Data Source='" & jvillalba & "'; " & _
"integrated security=SSPI; persist security info=True;"
cn.ActiveConnection = conex
cn.CommandText = "LISTAR_ARTICULOS"
cn.CommandType = adCmdUnknown
Set PSAR = cn.CreateParameter("cod_producto", adVarChar, adParamInput, , Text1.Text)
cn.Parameters.Append PSAR
cn.Execute

Al ejecutar este procedimiento sale un mensaje de error que dice " El procedimiento 'LISTAR_ARTICULOS' precisa el parametro '@cod_producto', que no se ha especificado

Por favor si alguien me puede ayudar en esto y que es lo que estoy haciendo mal. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Proc. Almacenados y Vb 6.0

Publicado por Cecilia Colalongo (3116 intervenciones) el 25/03/2006 17:56:38
Intenta cambiar: adCmdUnknown por: adCmdStoredProc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Proc. Almacenados y Vb 6.0

Publicado por Koyote (3 intervenciones) el 25/03/2006 19:51:52
Tambien ya probe esa posibilidad, pero aun asi no funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Proc. Almacenados y Vb 6.0

Publicado por Luis Augusto Prieto (166 intervenciones) el 25/03/2006 21:05:10
Hola!

Lo que

Recuerda que los command son para ejecutar insert, update y delete, y para ejecutar un select, tienes que hacer es, crear un Recordset y asignarle el command al recordset ejemplo: Set RS=cn.Execute

Dim Rs as New ADODB.Recordset
Dim conex As New ADODB.Connection
Dim cn As New ADODB.Command
conex.CusorLocation=adUseClient
conex.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=intl; " & _
"Data Source='" & jvillalba & "'; " & _
"integrated security=SSPI; persist security info=True;"
cn.ActiveConnection = conex
cn.CommandType = adCmdStoredProc
cn.CommandText = "LISTAR_ARTICULOS"
'siempre es mejor darle el nombre ´parametro igual al del Procy especificar el tipo,direccion,tamaño
Set PSAR = cn.CreateParameter("cod_producto", adVarChar, adParamInput,10 , Text1.Text)
cn.Parameters.Append PSAR
Set RS=cn.Execute
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Proc. Almacenados y Vb 6.0

Publicado por yeni (146 intervenciones) el 26/03/2006 17:39:01
este es tu codigo.. cierto?

-----------------------------------------------------------------------------
CREATE PROCEDURE LISTAR_ARTICULOS
@COD_PRODUCTO AS VARCHAR(10)
AS
SET NOCOUNT ON
SELECT*
FROM PRODUCTOS
WHERE COD_PRODUCTO = @COD_PRODUCTO
RETURN
-------------------------------------------------------------------------------

luego lo llamo desde mi aplicacion vb 6.0 y este es el codigo

LOS DATOS QUE VOY A PASAR AL PROCEDIMIENTO LOS TOMO DESDE UN TEXTBOX
TEXT1.TEXT=COD200

Dim conex As New ADODB.Connection
Dim cn As New ADODB.Command
conex.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=intl; " & _
"Data Source='" & jvillalba & "'; " & _
"integrated security=SSPI; persist security info=True;"
cn.ActiveConnection = conex
cn.CommandText = "LISTAR_ARTICULOS"
cn.CommandType = adCmdUnknown
Set PSAR = cn.CreateParameter("cod_producto", adVarChar, adParamInput, , Text1.Text)
cn.Parameters.Append PSAR
cn.Execute
----
Al ejecutar este procedimiento sale un mensaje de error que dice " El procedimiento 'LISTAR_ARTICULOS' precisa el parametro '@cod_producto', que no se ha especificado
****************

Ps creo k ese error te salio por k te olvidaste de poner el @
Fijate bien el la liinea donde indicas el parametro y el valor k le envias
Por ahi solo escribiste el nombre del parametro pero no lo escribiste bien.
seria algo asi :
Set PSAR = cn.CreateParameter("@cod_producto", adVarChar, adParamInput, , Text1.Text)

ESPERO HABERTE AYUDADO HE.. CREO K ESE FUE TU PROBLEMA
CHAO Y BESOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar