domingo, 17 de noviembre de 2013

OBTENER TODOS LOS STORE PROCEDURE DE UNA BASE DE DATOS

Buenas en esta ocasion veremos como obtener todos los sp de una bd, para esto genero un store procedure.


CREATE PROC MAESTROS.PA_OBTENER_STOREPROCEDURE 'Relacionado'
@NameSp VARCHAR(50)
AS
select name  from sysobjects where type='P' and  name  like '%' + @NameSp  +'%'
Order By Name

y de esta manera podemos obteneros de una manera sencilla.



sábado, 9 de noviembre de 2013

VARIABLE TABLE SQL SERVER 2008

 Buenas en esta ocasion veremos el uso de la variable tipo TABLE , conbinandose con otras sentencias dentro del Transact SQL.


/*

Autor                 :     Martin Cox R.
  */
CREATE PROC [FINANZAS].[PA_ESTADOCUENTA_CLIENTES] --1, 24,1 , '21/01/2013','21/08/2013'     
@IDCompania numeric ,      
@IDCliente numeric  ,      
@IDMoneda numeric  ,     
@FechaInicio datetime ,     
 @FechaFinal datetime      
AS     
declare @FechaRegistro DateTime        
declare @NumeroComprobante varchar(100)       
declare @TipoDocumento varchar(100)       
declare @Total decimal(18,4)       
declare @Flag  char(1)       
declare @Contador numeric = 1       
 declare @Saldo decimal(18,4)= 0       
declare @RazonSocial varchar(200)=''     
declare @Ruc varchar(15)=''     
     
      
       
DECLARE @tempEstadoCuentaFinal table(       
FechaRegistro DateTime ,       
NumeroComprobante varchar(100),       
 TipoDocumento varchar(100),       
Debito decimal(18,4),        
Credito decimal(18,4),        
Saldo decimal(18,4)  ,      
RazonSocial varchar(200) ,      
Ruc varchar(15)        
)     
     
select        
 FechaEmision as FechaRegistro ,NumeroDocumento as NumeroComprobante ,        
 tipDoc_cNombreTipoDocumento as TipoDocumento ,       
Total  , 'H' AS Flag ,  RazonSocial , Ruc     
     
into #tempDoc from MAESTROS.VIEW_DOCUMENTOSCOBRAR_LISTAR     
    where MAESTROS.VIEW_DOCUMENTOSCOBRAR_LISTAR.FormaPago = 2     
      and IDPersona =@IDCliente and IDMonedaDocumento = @IDMoneda     
Union All     
SELECT     FINANZAS.COMPROBANTECAJA.FechaRegistro, FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.NumeroComprobante,      
                      FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.TipoDocumento, FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.ImportePagar AS Total,      
                       'D' AS Flag , MAESTROS.MAE_CLIENTES.cli_cNombreCompletoCliente as RazonSocial ,MAESTROS.MAE_CLIENTES.cli_cRucCliente as Ruc     
FROM FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR      
INNER JOIN FINANZAS.COMPROBANTEENTRADACAJA ON FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.IDCompania = FINANZAS.COMPROBANTEENTRADACAJA.IDCompania AND  FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.IDTipoDocumento = FINANZAS.COMPROBANTEENTRADACAJA.IDTipoDocumento AND      
                       FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.IDSede = FINANZAS.COMPROBANTEENTRADACAJA.IDSede AND      
                      FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.IDCentroFinanciero = FINANZAS.COMPROBANTEENTRADACAJA.IDCentroFinanciero AND      
                       FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.NumeroComprobanteCaja = FINANZAS.COMPROBANTEENTRADACAJA.NumeroComprobante AND      
                      FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.NumeroSerieCaja = FINANZAS.COMPROBANTEENTRADACAJA.NumeroSerie      
 INNER JOIN              FINANZAS.COMPROBANTECAJA ON FINANZAS.COMPROBANTEENTRADACAJA.IDCompania = FINANZAS.COMPROBANTECAJA.IDCompania AND      
                      FINANZAS.COMPROBANTEENTRADACAJA.IDTipoDocumento = FINANZAS.COMPROBANTECAJA.IDTipoDocumento AND      
                       FINANZAS.COMPROBANTEENTRADACAJA.IDSede = FINANZAS.COMPROBANTECAJA.IDSede AND      
                      FINANZAS.COMPROBANTEENTRADACAJA.IDCentroFinanciero = FINANZAS.COMPROBANTECAJA.IDCentroFinanciero AND      
                       FINANZAS.COMPROBANTEENTRADACAJA.NumeroComprobante = FINANZAS.COMPROBANTECAJA.NumeroComprobante AND      
                      FINANZAS.COMPROBANTEENTRADACAJA.NumeroSerie = FINANZAS.COMPROBANTECAJA.NumeroSerie     
 inner join MAESTROS.MAE_CLIENTES on FINANZAS.COMPROBANTEENTRADACAJA.IDCliente =MAESTROS.MAE_CLIENTES.cli_nCodigoCliente     
                           
                           
WHERE  (FINANZAS.COMPROBANTECAJADOCUMENTOCOBRARPAGAR.FormaPago = 'CREDITO') and (FINANZAS.COMPROBANTEENTRADACAJA.IDCliente = @IDCliente)     
 and FINANZAS.COMPROBANTECAJA.IDMoneda = @IDMoneda    and RTRIM( FINANZAS.COMPROBANTECAJA.EstadoEntrega) != 'ANULADO' 
        
DECLARE CursorEstadoCuenta CURSOR     
FOR       
select *  from  #tempDoc     
--where FechaRegistro between  CONVERT(CHAR(10),@FechaInicio,103) and CONVERT(CHAR(10),@FechaFinal  ,103)     
  where CONVERT(CHAR(10),FechaRegistro,103) between  CONVERT(CHAR(10),@FechaInicio,103) and CONVERT(CHAR(10),@FechaFinal  ,103)     
     
       
OPEN CursorEstadoCuenta       
FETCH CursorEstadoCuenta        
        
INTO  @FechaRegistro ,@NumeroComprobante ,@TipoDocumento ,@Total ,@Flag ,@RazonSocial ,@Ruc     
       
WHILE (@@FETCH_STATUS = 0)       
       
 begin       
   if(@Flag = 'D')       
     begin       
      set @Saldo  =  @Saldo  -  @Total - 0 ;         
       insert into @tempEstadoCuentaFinal values (@FechaRegistro ,@NumeroComprobante ,       
      @TipoDocumento ,@Total ,0,@Saldo,rtrim(@RazonSocial) ,@Ruc )       
             
     end       
          
  else if(@Flag = 'H')       
       begin       
      set @Saldo  =  @Saldo  +  @Total - 0 ;        
       insert into @tempEstadoCuentaFinal values (@FechaRegistro ,@NumeroComprobante ,       
       @TipoDocumento ,0 ,@Total,@Saldo ,RTRIM( @RazonSocial),@Ruc)       
               
      end         
   FETCH CursorEstadoCuenta INTO  @FechaRegistro ,@NumeroComprobante ,@TipoDocumento ,@Total ,@Flag    ,@RazonSocial     
                                ,@Ruc     
   set  @Contador =@Contador +1;       
           
 END -- end loop while       
       
CLOSE CursorEstadoCuenta       
DEALLOCATE CursorEstadoCuenta       
       
select * from  @tempEstadoCuentaFinal       
drop table #tempDoc   
   

jueves, 7 de noviembre de 2013

Acceder a los DataKeys de un GridView desde el evento RowDeleting

Buenas mis estimados ,
Despues de algun tiempo que deje de publicar ya que por motivos de tiempo se me hace muy dificil , pero bueno aqui estamos , en esta ocasion veremos obtener los valores de un DataKey desde el evento RowDeleting de nuestro GridView

Aqui el ejemplo:

protected void GridFamiliaProductos_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int rowIndex = e.RowIndex;

        DataKeyArray ArrayKeys = GridFamiliaProductos.DataKeys;

        string IDCompania = Convert.ToString(ArrayKeys[rowIndex].Values[0]);
        string IDTipodocumento = Convert.ToString(ArrayKeys[rowIndex].Values[1]);
        string IDSede = Convert.ToString(ArrayKeys[rowIndex].Values[2]);
        string IDCentroFinanciero = Convert.ToString(ArrayKeys[rowIndex].Values[3]);
        string NumeroSerie = Convert.ToString(ArrayKeys[rowIndex].Values[4]);
        string NumeroComprobante = Convert.ToString(ArrayKeys[rowIndex].Values[5]);        

    }


Nos vemos