es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo insertar una fecha desde C#?

Tengo este insert:

insert into sap_paghe (nome_elaborazione, data_elaborazione, tipo, data_registrazione, data_scadenza, data_documento, osservazioni, data_allocazione_iva) values ('Nome elaborazione', '2021-12-22', 'H', '2021-01-31', '2021-01-31', '2021-01-31', 'RETRIBUZIONI GEN. 2021', '2021-01-31');

que funciona perfectamente en SQLWorkbench pero da este error al usar C#:

ERROR [HY000] [Informix][Informix ODBC Driver][Informix]Invalid year in date

Estoy 100% seguro de que la conexión funciona porque otros inserts funcionan bien, solo los que tienen la fecha presentan problemas. ¿Algún sugerencia?

Aquí está el código:

OdbcCommand command = new OdbcCommand(insert..., DbConnection);
dataAdapter.InsertCommand = command;
dataAdapter.InsertCommand.ExecuteNonQuery();
command.Dispose();
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el año en el valor de la fecha es inválido. Puede ser un problema de formato o un valor de año realmente inválido.

    Para solucionar este problema, puedes intentar lo siguiente:

    • Verifica el formato de la fecha en el código C# y asegúrate de que coincida con el formato utilizado en SQLWorkbench.
    • Asegúrate de que el valor de la fecha se pasa correctamente a la declaración de inserción. Puedes imprimir el valor de la variable de fecha antes de la declaración de inserción para confirmar esto.
    • Verifica el tipo de dato de la columna de fecha en la base de datos y asegúrate de que coincida con el tipo de dato de la variable de fecha en el código C#.
    • Prueba con un valor de fecha diferente para confirmar si el problema está en el valor de fecha específico o en otra cosa.

    También puedes intentar insertar manualmente los datos problemáticos utilizando SQLWorkbench para ver si el problema es específico del código C# o si es un problema de la base de datos.

    Si ninguna de estas soluciones funciona, puedes intentar comunicarte con el equipo de soporte del controlador ODBC de Informix para obtener ayuda adicional.

Comments are closed.