SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: macom en Martes 20 de Abril de 2004, 16:24

Título: Procedimiento Almacenado
Publicado por: macom en Martes 20 de Abril de 2004, 16:24
Hola, necesito que me ayuden.

Estoy aprendiendo a crear procedimientos almacenados en sql server 2000, y mi pregunta es como los llamo desde visual basic, he visto algunas respuestas en el foro, pero no me queda claro, ya que no se nada de este tema así como  pasar los parametros.

Si alguien me puede ayudar, gracias

Marco Arias
Chile
Título: Re: Procedimiento Almacenado
Publicado por: vradok en Martes 20 de Abril de 2004, 18:45
Hola macom

Precisamente hace un par de meses tuve la misma duda que tu .Simplemente hize un command y ejecute el procedimiento almacenado a pelo.
Para pasar los parametros te recomiendo que hagas la prueba primero en el editor de consultas(no se si se llama así) y que una vez que tengas el procedimiento a tu gusto hagas un copy/paste.

Algo asi:

<declaro y creo el command>
command.source="exec sp_makewebtask <argumentos>"

Haz una prueba y si no te funciona te respondo de nuevo mas detalladamente.
Título: Re: Procedimiento Almacenado
Publicado por: macom en Jueves 22 de Abril de 2004, 14:16
Disculpa pero no pude hacer de la forma que me explicaste, pero probé otro que esta en este foro y escribí lo siguiente:

Dim cnt As ADODB.Connection
Dim cmd As ADODB.Command
Dim rst As ADODB.Recordset

Set cnn_DB = New ADODB.Connection
cnt.ConnectionString = "DSN=inventario;UID=sa;PWD=spedro;"
cnt.ConnectionTimeout = 30
cnt.Open

Set cmd = New ADODB.Command
cmd.CommandType = adCmdStoreProc
cmd.CommandText ="proc_muestra_todo"
Set rst = cmd.execute

Cree el DSN inventario está OK

Este código lo agregé a un botón, pero en la última línea Set rst=cmd.execute me da un error "no se puede hacer referencia a un objeto cerrado o que no existe"

Si alguien me pudiera ayudar.

Gracias
Título: Re: Procedimiento Almacenado
Publicado por: Brroz en Jueves 22 de Abril de 2004, 14:43
Hola macom.

Te falta asignar la conexión al comando: Set cmd.ActiveConnection = cnt (aparte de que según el código que posteas, la variable cnt no está declarada ni inicializada. Entiendo que es un fallo de transcripción y que donde dice 'cnn_DB' debería decir cnt).

Suerte.
Título: Re: Procedimiento Almacenado
Publicado por: macom en Lunes 26 de Abril de 2004, 18:14
me funciona bien.

Gracias.