Almacenar datos de tipo DataTime en una Base de datos SQL Server

Esta funciòn realizada en c# de .NET formatea una fecha capturada en un control de usuario Windows o Web y la pasa a los siguientes formatos:
Fecha corta ‘20080405’
Fecha Larga ‘20080405:025259’
para su posterior envio a Base de Datos:
        public string ConvertirFechaYHoraAFormatoSQLServer(DateTime Fecha)
        {
            string strFormat = "yyyyMMddHHmmss’Z’";
            string strFecha = String.Concat(Fecha.Year, Fecha.Month.ToString().PadLeft(2, ‘0’), Fecha.Day.ToString().PadLeft(2, ‘0’));
            string strFechaMil = String.Concat(strFecha, Fecha.Hour.ToString().PadLeft(2, ‘0’), Fecha.Minute.ToString().PadLeft(2, ‘0’), Fecha.Second.ToString().PadLeft(2, ‘0’), "Z");
            DateTime dt = DateTime.ParseExact(strFechaMil, strFormat, System.Globalization.CultureInfo.InvariantCulture);
            string strHora = String.Concat(dt.Hour.ToString().PadLeft(2, ‘0’), ":", dt.Minute.ToString().PadLeft(2, ‘0’), ":", dt.Second.ToString().PadLeft(2, ‘0’));
            return String.Concat(strFecha, " ", strHora);
        }
En la  capa de reglas de negocio envio la fecha en forma de string por medio de la  anterior  función.  
por ejemplo para almacenar la fecha de nacimiento de una persona del sistema de facturaciòn la fecha se almacenara en una propiedad publica de la clase Persona

public string FechaNacimiento

{

get { return _dtFechaNacimiento; }

set { _dtFechaNacimiento = value; }

}

En el procedimiento almacenado que realiza la insercción de la persona en la base de datos es la siguiente:
CREATE  PROCEDURE INSERTPERSONA(@ID INT, @NOMBRES VARCHAR(35), @APELLIDOS VARCHAR(35), @FECHANACIMIENTO VARCHAR(20))
(
INSERT INTO PERSONA (ID,NOMBRES,APELLIDOS,FECHANACIMIENTO)
VALUES(@ID,@NOMBRES,@APELLIDOS, CONVERT (DATETIME, @FECHA, 102))
)
De esta manera e podido almacenar en base de datos los vaores de fechas de tipo de dato DataTime.
Puede averiguar sobre la función CONVERT en la ayuda del sql server  para que sepa en que formato envia.

About omaracostacasas

ING SOFTWARE
This entry was posted in SQL Server. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s