procedimiento almacenado

miguel fuentes calderon
31 de Marzo del 2006
tengo un problema alguien me pueda ayudar :: como puedo ejecutar un procedimiento almacenado desde visual basic mi procedimeinto almacenado esta en sql y como lo ejecuto desde visual basic:


sql=========================================
CREATE procedure sp_insert_cotizacion
@Refer as nvarchar(50),
@Cod_cli as smallint,
@Direc_cli as nvarchar(50),
@Nom_cli as nvarchar(80),
@email_cli as nvarchar(50),
@Att_cli as nvarchar(40),
@car as nvarchar(50),
@fecha_cot as smalldatetime,
@Prep_por as nvarchar(10),
@tiempo_entr as nvarchar(50),
@lugar_entr as nvarchar(50),
@for_de_pag as nvarchar(20),
@observac as nvarchar(255),
@entreg_parc as bit,
@estad as nvarchar(15),
@cod_ve as nvarchar(2),
@valid as nvarchar(2),
@glosar as nvarchar(50),
@p_igv as float(8),
@moned as int,
@tip_ca as float(8),
@cod_ca as int,
@detall as ntext
as
declare @id as int
select @id = max(cod_cotizacion) from cotizaciones
if @id is null set @id = 0
set @id = @id + 1

insert into cotizaciones (cod_cotizacion, Referencia, Cod_cliente, Direc_cliente,
Nom_cliente, email_cliente, Att_cliente, cargo, fecha_cotizacion,
Preparado_por, tiempo_entrega, lugar_entrega, forma_de_pago,
observaciones, entregas_parciales, estado, cod_vend, validez,
glosario, por_igv, moneda, tip_cam, codcan, detalle )

values(@id, @Refer, @Cod_cli, @Direc_cli, @Nom_cli, @email_cli, @Att_cli, @car,
@fecha_cot, @Prep_por, @tiempo_entr, @lugar_entr, @for_de_pag, @observac, @entreg_parc,
@estad, @cod_ve, @valid, @glosar, @p_igv, @moned, @tip_ca, @cod_ca, @detall )

select 'ID' = @id
GO


esto nesecito ejecutarlo desde visual basic por favor ayudenme

mvallejos
31 de Marzo del 2006
Fijate en la ayuda de VB, los ejemplos de los objetos
Parameter que se enganchan a los ADODB.Command.
Estos objetos son los que se usan para pasarle parámetros de los procedimientos almacenados

Dim R As New ADODB.Recordset
Dim Cmd As New ADODB.Command
Dim Par As New ADODB.Parameter

Set Cmd.ActiveConnection = Cn
Cmd.CommandType = adCmdStoredProc
Cmd.CommandTimeout = 600
Cmd.CommandText = "<nombre sp>"

Set Par = Cmd.CreateParameter("<nom parametro>", <tipo dato>,<tipo parametro>, ,<valor actual>)
Cmd.Parameters.Append Par

Set R = Cmd.Execute


Saludos