viernes, 23 de noviembre de 2012

Evaluar celda vacía en un GridView.

Problema: Al recorrer los filas (GridViewRow) de un GridView y evalúa una celda que quiero comparar con  string.Empty recibo    y la comparación no funciona.

Solución: Usar HttpUtility.HtmlDecode.
...
string wValor = HttpUtility.HtmlDecode(e.Row.Cells[2].Text).Trim();
       
 if (wFechaXmlFin == string.Empty)
{
                CheckBox cb = new CheckBox();
                cb = (CheckBox)e.Row.FindControl("cbSeleccion");
                cb.Enabled = false;
}
...

jueves, 5 de julio de 2012

Edad o diferencia entre fechas en SQL.

Pensaba que para calcular la edad en SQL lo podía hacer con DATEDIFF y el yyyy, pero no. Resta los años, así que he creado una función para calcular la edad:


CREATE FUNCTION [dbo].[fnEdad]
( @F1 AS SMALLDATETIME,
@F2 AS SMALLDATETIME
)
RETURNS INT
AS
BEGIN

DECLARE @NEDAD AS INT
SET @NEDAD = DATEDIFF(YYYY,@F1, @F2)--Realiza la diferencia entre años, si hace de '2011-12-31' a '2012-01-01'
-- devuelve 1.

IF DATEADD(YYYY, @NEDAD, @F1) > @F2 AND @NEDAD > 0 -- Es el año, pero faltan días, semanas o meses
BEGIN
SET @NEDAD  = @NEDAD  - 1
END

RETURN ISNULL(@NEDAD,0)

END