3/07/2015 09:59:00 p. m.
Share:
Blog Informático sobre Análisis y Desarrollo de Software.
ReportParameter[] repParamHeader = new ReportParameter[1];
repParamHeader[0] = new ReportParameter("RP_UsuarioLogueado", UsuarioLogeado.nombre, false);
// LAS TRES LINEAS SIGUIENTES SON OBLIGATORIAS PARA QUE SE RECONOZCA COMO RECURSO EMBEBIDO
rvInformes.ProcessingMode = ProcessingMode.Local;
rvInformes.Reset();
rvInformes.LocalReport.ReportEmbeddedResource = "miempresa.aplicacion.Reportes.Informes.rptInformes_PagoMedicos.rdlc";
rvInformes.LocalReport.DataSources.Clear();
rvInformes.LocalReport.DataSources.Add(new ReportDataSource("dsInformes", miDataTablePagos));
rvInformes.LocalReport.SetParameters(repParamHeader);
rvInformes.LocalReport.Refresh();
miempresa.aplicacion.Reportes.Informes es el namespace en mi proyecto ASP.NET MVC. Es necesario que cada reporte RDLC esté configurado de la siguiente manera, tal como se ve en la siguiente imagen
En Acción de Compilación debe especificarse: Recurso incrustado
-- -- create function [dbo].[fni_Split] ( @Cadena nvarchar(max), @Delimitador nvarchar(5) ) RETURNS @TblRetorno table ( Id int identity(1,1), Dato nvarchar(max) ) AS BEGIN While (Charindex(@Delimitador,@Cadena)>0) Begin Insert Into @TblRetorno (Dato) Select Dato = ltrim(rtrim(Substring(@Cadena,1,Charindex(@Delimitador,@Cadena)-1))) Set @Cadena = Substring(@Cadena,Charindex(@Delimitador,@Cadena)+1,len(@Cadena)) End Insert Into @TblRetorno (Dato) Select Dato = ltrim(rtrim(@Cadena)) Return END
-- -- Create FUNCTION [dbo].[fnr_ireCalcularIntervaloAnios](@FechaInicio datetime, @FechaFin datetime) returns int as begin declare @anios int if @FechaFin is null set @FechaFin = getdate() set @anios = (((365* year(@FechaFin))-(365*(year(@FechaInicio))))+ (month(@FechaFin)-month(@FechaInicio))*30 +(day(@FechaFin) - day(@FechaInicio)))/365 return @anios end GOPara ejecutar la función podemos usar:
--
--
set dateformat dmy -- para poder trabajar con fechas en formato dia/mes/año
-- es valido solo para la ventana de consultas
select dbo.[fnr_ireCalcularIntervaloAnios] ('10/12/2004', '17/12/2010')
select dbo.[fnr_ireCalcularIntervaloAnios] ('24/04/2004', null)
-- -- SELECT * FROM Paciente WHERE FechaNacimiento = '19820827'
-- -- SELECT * FROM Paciente WHERE convert(varchar(10), FechaNacimiento, 103) = '27/08/1982'Así, la fecha consultada sería reconocida como el 27 de agosto de 1982. En el caso que quiera consultar dentro de un procedimiento almacenado, lo realizaría utilizando, sería de la siguiente manera:
create procedure sp_ObtenerPacientesSegunFechaNacimiento @FechaNacimientoConsulta datetime as SELECT IdPaciente, Nombres, Apellidos FROM Paciente WHERE convert(varchar(10), FechaNacimiento, 103) = convert(varchar(10), @FechaNacimientoConsulta, 103)