none
DateTime valor nulo error excepción InvalidOperationException RRS feed

  • Pregunta

  • hola que tal estoy teniendo un problema con el siguiente bloque, adjunto una parte del código.

    el problema está en que yo en la BD acepto valores nulos para un campo datetime y, cuando los quiero leer, me larga la excepción antes mencionada diciendo que "El objeto que acepta valores nulos debe tener un valor"

    if (fecha.HasValue)
    {
        fechaOrigenDBT.Value =(DateTime) fecha; //en esta linea se produce la excepción
        existeFechaDBT = true;
    }

    saludos



    martes, 5 de junio de 2018 14:09

Respuestas

  • Hola. Los tipos Nullables acceden a su valor de la siguiente manera, accediendo a la propiedad Value

    fechaOrigenDBT.Value = fecha.Value;


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 5 de junio de 2018 21:38
    Moderador
  • No entiendo muy bien por qué usted pregunta por nulo (o si tiene valor).  No parece ser necesario.  Según veo, la variable fecha es DateTime?, y la variable de destino fechaOrigenDBT también parece ser DateTime?.  Por lo tanto, tenga o no valor la variable fecha, la asignación fechaOrigenDBT = fecha debería funcionar siempre.

    Como una variable nullable básicamente almacena 2 informaciones (si hay o no valor, y el valor), la variable de control existeFechaDBT no parece ser necesaria.


    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    martes, 5 de junio de 2018 22:40
    Moderador

Todas las respuestas

  • Hola Artemis Specctrum:

    Porque no preguntas si es nulo.

    if (fecha!=null)
    {
        fechaOrigenDBT=Convert.ToDateTime(fecha); 
        existeFechaDBT = true;
    }
    Saludos

    martes, 5 de junio de 2018 14:17
  • Hola Artemis Specctrum:

    Porque no preguntas si es nulo.

    if (fecha!=null)
    {
        fechaOrigenDBT=Convert.ToDateTime(fecha); 
        existeFechaDBT = true;
    }
    Saludos

    lo intenté pero me lanza la misma excepción 
    martes, 5 de junio de 2018 14:22
  • Pasa la fecha a un string no a tu fechaOrigenDBT y confirma que te llega lo que crees que te llega en formato fecha.

    martes, 5 de junio de 2018 14:32
  • Hola. Los tipos Nullables acceden a su valor de la siguiente manera, accediendo a la propiedad Value

    fechaOrigenDBT.Value = fecha.Value;


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 5 de junio de 2018 21:38
    Moderador
  • No entiendo muy bien por qué usted pregunta por nulo (o si tiene valor).  No parece ser necesario.  Según veo, la variable fecha es DateTime?, y la variable de destino fechaOrigenDBT también parece ser DateTime?.  Por lo tanto, tenga o no valor la variable fecha, la asignación fechaOrigenDBT = fecha debería funcionar siempre.

    Como una variable nullable básicamente almacena 2 informaciones (si hay o no valor, y el valor), la variable de control existeFechaDBT no parece ser necesaria.


    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    martes, 5 de junio de 2018 22:40
    Moderador
  • Hola,  para validar nulos de base de datos hazlo con DbNull.value, si la memoria no me falla tienes que agregar la librería  system

    if (fecha== DBNull.Value)
    {
    fechaOrigenDBT.value="0000-00-00";
    }
    Else
    {
    fechaOrigenDBT.value=(DateTime) fecha;
    }


    martes, 5 de junio de 2018 23:02
  • hola

    >>me larga la excepción antes mencionada diciendo que "El objeto que acepta valores nulos debe tener un valor"

    En ese codigo que muestras no estas recuperando nada de la db, o al menos no se ve de donde sale la variable "fecha"

    si esa variable es nulable deberias usar

    fechaOrigenDBT.Value = fecha.Value;

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 6 de junio de 2018 14:37