A veces necesitamos manejar Datetime NULOS.
Pero por cosas de la vida, nuestro codigo todo esta lleno de DateTime... así que nos parece complicado manejar el tipo de dato DateTime?, que permite nulos por defecto. Hacer ese cambio nos da pereza... además de que podría traer algunos inconvenientes al algún tipo servicio o lo que sea.
Así para mi la mejor opción fue manejar el "NULO" que no es NULO....
Un DateTime cuando se crea deja por defecto una fecha, esta es:
01/01/0001 12:00:00 a.m.
Eso quiere decir que podríamos interpretar ese valor como el NULO.
¿Y como lo vamos a comparar?
Podremos en ese caso utilizar la siguiente validación que me parece bastante leíble por cualquier programador.
if (miObjetoDateTime != default(DateTime))
{
}
¿Y para los procedimientos almacenados como le envío el nulo? Porque verdaderamente hay si queremos enviarle un NULO de verdad.
Sería hacer la siguiente instrucción:
if (miObjetoDateTime != default(DateTime))
this._sqlDatabase.AddInParameter(command, "parametrofechaquizasnula", DbType.DateTime, miObjetoDateTime);
else
this._sqlDatabase.AddInParameter(command, "parametrofechaquizasnula", DbType.DateTime, DBNull.Value);
Bueno, pues quizás sea la que a mi gusto más se me ajusta a mis necesidades.
Espero les sirva.
Sean felices! :) Y siéntanse libres de opinar ;)
No hay comentarios:
Publicar un comentario