Estoy almacenando en mi base de datos mediante un procedimiento tienda de la marca de tiempo fecha usando una función llamada sysdatetime()
y un tipo de varchar(max)
que almacena en la base de datos en este formato yyyy-mm-dd hh:mm:ss.sssssss
. Cuando estoy creando una nueva entrada de su bien, pero cuando estoy tratando de actualizar el registro tengo que enviar un parámetro para el procedimiento de la tienda con la corriente datetime
. He intentado este¿Cómo puedo convertir DateTime.now en C# para aaaa-mm-dd hh: mm: ss.sssssss?
DateTime.Now.ToString(yyyy-mm-dd hh:mm:ss.sssssss)
pero me sale un error. ¿lo que tengo que hacer?
PD: ver la imagen a continuación con el mensaje de error
¿Cuál es el tipo de datos SQL del parámetro que está pasando en? –
No guarde las fechas como cadenas: guárdelas como 'date' o' datetime' o 'datetime2' (según corresponda). No * pase * fechas a la base de datos como cadenas. Páselos a su código de acceso a datos (ya sea NHibernate, simple ADO.Net, Entity Framework, etc.) como 'DateTimes'. Haga los parámetros de los procedimientos almacenados, etc., acepta 'datetime'.El * único * lugar donde debe convertir una fecha/hora en una cadena está en * el último momento posible * antes de que se muestre al usuario de su sistema. –