miércoles, 13 de octubre de 2010

Formateo de campos Fecha–Hora para Sql Server desde .Net

Este post pretendo que sea breve ya que solo es para comentar que en ocasiones nos encontramos el problema de insertar o actualizar datos Datetime desde aplicaciones hechas con Vb.Net o C# y estos marcan error si no son recibidos como parámetros Sql debido a que llevan el formato 01-10-2010 02:30 p.m. por lo que SQL Server no puede interpretar las cadenas (a.m. | p.m.).

Esta situación la podemos solvertar de la siguiente forma:

VarriableDateTime.ToString("yyyyMMdd hh:mm:ss")

en un Ejemplo sencillo:

string sql = "UPDATE zabp_tareas_ogerp ";
sql += string.Format(" SET TIEMPO_INICIO = '{0}', TIEMPO_FIN = '{1}',HORA_LIBERACION = {2}",P_Hora_Inicio.ToString("yyyyMMdd hh:mm:ss"), P_Hora_Fin.ToString("yyyyMMdd hh:mm:ss"), P_Duracion);
sql += string.Format(" WHERE FOLIO={0}",P_Folio);

Donde podemos observar como se formatea de la forma: 20101001 14:30:00 con lo que eliminamos el problema.

Como siempre espero que les sea de utilizada.

Best regards And Happy coding.

KarlozArba

No hay comentarios: