Cita:
Iniciado por Saruman disculpen, pero me pueden explicar para que es el procedimiento almacenado??? se ve interesante.... algo rapidito nadamas

Bueno, la finalidad de un procedimiento almacenado consiste en tener en el base de datos todas tus consultas o querys que realizas normalmente en una aplicación, por ejemplo; insertar clientes, traer las nominas, modificar una factura, etc...
Como crear un Store Procedure o SP, tienes varias formas, la primera es utilizar el Enterprise Manager del SQL Server, debes seleccionar la base de datos e ir a Procedimientos Almacenados o Store Procedure, con el botón del lado derecho le dices "Nuevo SP"... instantaneamente te abrirá una ventana que diría algo similar a esto:
Código:
CREATE PROCEDURE [OWNER].[PROCEDURE NAME] AS
Esto te indica la estructura que debes crear para el SP.
Ahora vamos a crear un SP que nos traiga la información de todos nuestros clientes ordenados por su Codigo (obviamente imaginate esto)
Código:
CREATE PROCEDURE TraerClientes
AS
Select Codigo, Nombre
From Clientes (nolock)
Order By Codigo
Después desde algún programa lo único que debes hacer es ejecutar ese SP al igual que una consulta cualquiera y te retorna un conjunto de datos que los puedes tirar a un Recordset.. ejemplo:
Dim objRec As ADODB.Recordset
Set objRed = objCon.Execute("TraerClientes")
Como pasarle valores a un SP, es muy simple, ahora vamos a insertar un nuevo cliente, para eso vamos a pasar el valor del código y el nombre.
Código:
CREATE PROCEDURE AgregarCliente
@Codigo int,
@Nombre varchar(100)
AS
Insert Clientes (Codigo, Nombre)
Values (@Codigo, @Nombre)
Con esto te agrega un cliente pero no retorna nada, para ejecutarlo solo deberías hacer esto:
Dim Sql As String
Sql = "AgregarCliente " & Codigo & ", '" & Nombre & "'"
objCon.Execute Sql
Para enviar parámetros, las variables donde las recibes deben estar con un "@" siempre.