none
Problema con inserción de datos

    Question

  • Hola que tal!

    Tengo una tabla en sqlserver2005 con los campos:

    id(identity)
    usuario(varchar)
    fecha(datetime)
    tipo_sistema(varchar)
    modelo_pago(varchar)
    categoria_puesto(varchar)
    asignado(int)

    Desde visualstudio2005 desde un boton hago una inserción y sqlserver arroja el siguiente error:

    La conversión del tipo de datos char a datetime
    produjo un valor datetime fuera de intervalo.
    se termino la instrucción.

    Esta es la inserción:

    INSERT INTO Tbl_Matriz
                             (usuario, fecha, tipo_sistema, modelo_pago, categoria_puesto, asignado)
    VALUES         ('usuario', '01/25/09', 'Tipo_Sistema', 'Modelo_pago', 'Categoria_puesto', 1)

    Lo raro es que en otra pagina que hice para prubas hago exactamente la misma inserción y sin ningun problema.

    Espero me puedan ayudar
    Saludos
    GDL

    • Edited by Saul Mejia Thursday, April 15, 2010 3:34 PM
    Thursday, April 15, 2010 3:32 PM

Answers

  • El cómo reconoce SQL Server una fecha como correcta se basa en la configuración regional. Si quieres evitarte problemas de este tipo, usa el formato "YYYYMMDD" o "YYYYMMDD hh:mn:ss" y no volverás a recibir ese mensaje
    • Proposed as answer by Carlos Sacristan Thursday, April 15, 2010 3:34 PM
    • Marked as answer by Saul Mejia Thursday, April 15, 2010 4:20 PM
    Thursday, April 15, 2010 3:34 PM

All replies

  • El cómo reconoce SQL Server una fecha como correcta se basa en la configuración regional. Si quieres evitarte problemas de este tipo, usa el formato "YYYYMMDD" o "YYYYMMDD hh:mn:ss" y no volverás a recibir ese mensaje
    • Proposed as answer by Carlos Sacristan Thursday, April 15, 2010 3:34 PM
    • Marked as answer by Saul Mejia Thursday, April 15, 2010 4:20 PM
    Thursday, April 15, 2010 3:34 PM
  • Hola.

    Alguna diferencia ha de haber entre ambas páginas para que se dé el error. Intenta capturar la sentencia sql de la inserción (con profiler, por ejemplo) para ver dónde puede estar la diferencia, que seguramente sea en que existe una cadena con un formato que debería ser una fecha, pero que no lo es.

    Si no lo logras, nos dices.

     


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    Thursday, April 15, 2010 3:35 PM
    Moderator
  • El cómo reconoce SQL Server una fecha como correcta se basa en la configuración regional. Si quieres evitarte problemas de este tipo, usa el formato "YYYYMMDD" o "YYYYMMDD hh:mn:ss" y no volverás a recibir ese mensaje

    Efectivamente tenia que ver con los formatos de las fechas, en mi equipo tenia una modificación en la configuración regional-formato de fecha y hora. Lo que hice fue restablecer dichos valores y se solucionó el error!!


    MUCHAS GRACIAS POR SUS RESPUESTAS!

    Saludos
    GDL
    Thursday, April 15, 2010 4:23 PM