2
respostas

(C#) Atribuir valor para uma variável Datetime que retornou nula do banco

Olá pessoal,

Estou com um programa que preciso validar uma data de vencimento, o problema é que na consulta, o registro pode vir null do banco, quando o cliente nunca inseriu o vencimento.

Nesse caso, rodando o projeto C#, dá erro informando que "nullable object must have a value".

Tentei alterar com if (vencimento == null) mas como a variável será DateTime ele avisa que DateTime nunca será null... Tentei alterar com if (vencimento.Hasvalue){ xxxx } else { vencimento = DateTime.Now} pra atribuir a data atual mas também não funcionou, continua avisando "nullable object must have a value".

2 respostas

Olá tudo bem ? Uma possível solução é pegar a entidade onde esta contida a propriedade "vencimento" e defini-la como nullable. Exemplo:

public class SuaEntidade 
{
   public DateTime? vencimento { get; set; }
}

Obrigado.

Oi Leonardo, obrigado pela contribuição. Bom, os códigos já estavam deste modo que você comentou.

Ontem eu resolvi fazendo com que o resultado da consulta do SQL quando nulo troque para a data padrão do SQL usando (Column, 0), então gera uma data em 1990 e me ajuda, pois minha intenção é quando o cadastro não tiver vencimento, deve ser considerado vencido.

Ainda assim, vou deixar o tópico aberto mais uns dias pra ver se aprendemos como fazer no C#.