Stack Overflow en español Asked by cosito on December 2, 2021
Estoy realizando un insert a mi base de datos, tengo mis parametros en un array asi como los datos que se van a estos, en especial y que esta dando problemas es la fecha
comando.Parameters.Add(parameters_1[i], lista_2[i]);
, en mi base de datos esta como tipo de dato Date
, este es el resultado que obtengo 07/08/2020 10:38:33 AM
, pero cuando llega el momento de comando.ExecuteNonQuery();
me manda al catch y me arroja esto
ORA 01843: not a valid month
De esta manera obtengo el dato:
DateTime fecha = DateTime.Parse(valor);
var fec = fecha.ToString("MM/dd/yyyy");
elements[1] = fec;
Para insertar fechas en manejadores SQL, lo más recomendable es pasarla en formato yyyyMMdd
o yyyy/MM/dd
Por el código del error, supongo que se trata de Oracle. Si este es el caso puedes utilizar la función TO_DATE()
esta función recibe 2 parámetros de tipo string, el primero es la fecha y el segundo es el formato en el que se encuentra la fecha ver mas
Ten en cuenta que esta es una funcion de Oracle y no de C# así que debes modificar el la instruccion sql con algo parecido a lo siguiente:
INSERT .... VALUES (..., TO_DATE(@tuParametro, 'MM/dd/yyyy'), ...)
Answered by Pablo Gutiérrez on December 2, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP