none
Llamar un store procedure desde VB 2015

    Pregunta

  • Agradeciendo de antemano su ayuda, 

    Este es mi procedimeinto almacenado. lo que no ehacer es como llamar este store procedure desde vb 2015,

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[Gaff_CxpAntSaldosNvo] 
    @ProvD varchar(20),
    @ProvA varchar(20),
    @Moneda varchar(20),
    --@fechaD date,
    --@fechaA date,
    @Periodo int,
    @Ejercicio int

    as
    declare
    @PeriodoSemana1 Nvarchar(50),
    @PeriodoSemana2 Nvarchar(50),
    @PeriodoSemana3 Nvarchar(50),
    @PeriodoSemana4 Nvarchar(50),
    @PeriodoSemana5 Nvarchar(50)

    drop table AntSalCxp
    drop table AntSalCxpSemanas

    create table AntSalCxpSemanas
    (Id int IDENTITY (1,1),
    periodo varchar(80)
    )

    insert into AntSalCxpSemanas
    SELECT distinct
    Periodo = convert(Varchar(12),DATEADD(wk,DATEDIFF(wk,0,Vencimiento),0)-1) + ' al ' + convert(Varchar(12),DATEADD(wk,DATEDIFF(wk,0,Vencimiento),5))
    from cxp inner join cxpd on cxp.id = cxpd.id
    inner join prov on cxp.proveedor = prov.proveedor
    where Month(Vencimiento) = @Periodo
    and Year(Vencimiento) = @Ejercicio


    create Table AntSalCxp
    (Proveedor varchar(50),
    Nombre varchar(50),
    Factura varchar(50),
    Referencia varchar(Max),
    Revision date,
    Vencimiento date,
    Moneda Varchar(20),
    SemanaMes int,
    Dias int,
    Saldo money,
    Semana1 money NULL,
    Semana2 money NULL,
    Semana3 money NULL,
    Semana4 money NULL,
    Semana5 money NULL
    )


    Insert into AntSalCxp
    SELECT cxp.Proveedor,prov.Nombre,(mov + ' ' + movid) as Factura,Referencia,
    convert(date,fechaemision) as Revisión,
    convert(date,Vencimiento) as Vencimiento,
    cxp.Moneda,
    datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)) as SemanaMes,
    datediff(day,FechaEmision,Vencimiento) as Dias,
    Saldo,
    semana1 = case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -1 then saldo
    end,
    semana2= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -2 then saldo
    end,
    semana3= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -3 then saldo
    end,
    semana4= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -4 then saldo
    end,
    semana5= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -5 then saldo
    end
    from cxp inner join cxpd on cxp.id = cxpd.id
    inner join prov on cxp.proveedor = prov.proveedor
    where mov= 'Anticipo PC'
    and cxp.estatus = 'Pendiente'
    and prov.Proveedor between @ProvD and @ProvA
    and Month(Vencimiento) = @Periodo
    and Year(Vencimiento) = @Ejercicio
    union
    SELECT cxp.Proveedor,prov.Nombre,(mov + ' ' + movid) as Factura,Referencia,
    convert(date,fechaemision) as Revisión,
    convert(date,Vencimiento) as Vencimiento,
    cxp.Moneda,
    datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)) as SemanaMes,
    datediff(day,FechaEmision,Vencimiento) as Dias,
    Saldo,
    semana1 = case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -1 then saldo
    end,
    semana2= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -2 then saldo
    end,
    semana3= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -3 then saldo
    end,
    semana4= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -4 then saldo
    end,
    semana5= case
    when isnull(datepart(week,vencimiento) - datepart(week, dateadd(dd,day(Vencimiento)+1,Vencimiento)),'') = -5 then saldo
    end
    from cxp inner join cxpd on cxp.id = cxpd.id
    inner join prov on cxp.proveedor = prov.proveedor
    where mov= 'Factura X Pagar'
    and cxp.estatus = 'Pendiente'
    and prov.Proveedor between @ProvD and @ProvA
    and Month(Vencimiento) = @Periodo
    and Year(Vencimiento) = @Ejercicio
    order by Vencimiento,cxp.Proveedor,Moneda desc


    set @PeriodoSemana1 = (Select Periodo from AntSalCxpSemanas where id = 1)
    set @PeriodoSemana2 = (Select Periodo from AntSalCxpSemanas where id = 2)
    set @PeriodoSemana3 = (Select Periodo from AntSalCxpSemanas where id = 3)
    set @PeriodoSemana4 = (Select Periodo from AntSalCxpSemanas where id = 4)
    set @PeriodoSemana5 = (Select Periodo from AntSalCxpSemanas where id = 5)
    exec SP_RENAME '[GAFF4500].[dbo].[AntSalCxp].[Semana1]' , @PeriodoSemana1 , 'COLUMN'
    exec SP_RENAME '[GAFF4500].[dbo].[AntSalCxp].[Semana2]' , @PeriodoSemana2 , 'COLUMN'
    exec SP_RENAME '[GAFF4500].[dbo].[AntSalCxp].[Semana3]' , @PeriodoSemana3 , 'COLUMN'
    exec SP_RENAME '[GAFF4500].[dbo].[AntSalCxp].[Semana4]' , @PeriodoSemana4 , 'COLUMN'
    exec SP_RENAME '[GAFF4500].[dbo].[AntSalCxp].[Semana5]' , @PeriodoSemana5 , 'COLUMN'

    Declare
    @SQL Nvarchar(2000)

    set @SQL = 'select Proveedor,Nombre,Factura,Referencia,Revision,Vencimiento,Moneda,SemanaMes,Dias,Saldo,' 
               + Convert(NVarchar(50),'[' + @PeriodoSemana1 + ']') +','+ Convert(NVarchar(50),'[' + @PeriodoSemana2 + ']') +','
      + Convert(NVarchar(50),'[' + @PeriodoSemana3 + ']') +','+ Convert(NVarchar(50),'[' + @PeriodoSemana4 + ']') +','
      + Convert(NVarchar(50),'[' + @PeriodoSemana5 + ']') +'from AntSalCxp order by AntSalCxp.Vencimiento'
    execute sp_executesql @SQL

    quisiera ver de que forma puedo enviarlo a un datagridwiew

    GRACIAS


    jueves, 12 de enero de 2017 23:09

Respuestas