none
Atribuir Null em uma propriedade do tipo DateTime. RRS feed

  • Pergunta

  • Amigos,

    estou criando uma propriedade do tipo DateTime em uma classe. " DateTime _dtPosicao;"

    Porém essa propriedade faz referência a uma consulta ao banco de dados que por sua vez traz alguns campos nulos. Como faço para exibir como nulo mesmo, pois ele está atribuindo 01/01/0001 : 00:00:00?

    Estou usando C# com Oracle.

    dESDE JÁ AGRADEÇO


    Daniel
    sexta-feira, 4 de novembro de 2011 13:15

Respostas

Todas as Respostas

  • Faça o using em System.Data.SqlTypes
                    SqlDateTime dt = new SqlDateTime();
                    dt = SqlDateTime.Null;
    

    sexta-feira, 4 de novembro de 2011 13:30
  • Lucas,

     

    como eu colocaria esse conceito na minha classe?

     

    public class RelatorioDashboardEnt
        {
            string _barcCdSigo = string.Empty;
            string _barcNmBarco = string.Empty;
            string _gerencia = string.Empty;
            string _frota = string.Empty;
            string _stemDsStatus = string.Empty;
            DateTime _dtPosicao;
            string _evemDsEvento = string.Empty;
            DateTime _loeeDtEvento;
            string _loeeCdExecutor = string.Empty;
            string _molaDsLayout = string.Empty;
            string _mobiNmFabricante = string.Empty;
            string _mobiNmModelo = string.Empty;
            string _mobiNrSerial = string.Empty;
            string _mobiNrTerminal = string.Empty;
            string _seemNrMember = string.Empty;
            string _grupNrGrupo = string.Empty;
    
            public string BarcCdSigo
            {
                get { return _barcCdSigo; }
                set { _barcCdSigo = value; }
            }
    
            public string NomeBarco
            {
                get { return _barcNmBarco; }
                set { _barcNmBarco = value; }
            }
    
            public string Gerencia
            {
                get { return _gerencia; }
                set { _gerencia = value; }
            }
    
            public string Frota
            {
                get { return _frota; }
                set { _frota = value; }
            }
    
            public string StatusEmbarcao
            {
                get { return _stemDsStatus; }
                set { _stemDsStatus = value; }
            }
            
            public DateTime DtPosicao
            {
                get { return _dtPosicao; }
                set { _dtPosicao = value; }
            }
            
            public string DescEvento
            {
                get { return _evemDsEvento; }
                set { _evemDsEvento = value; }
            }
    
            public DateTime DtUltimoEvento
            {
                get { return _loeeDtEvento; }
                set { _loeeDtEvento = value; }
            }
    
            public string Executor
            {
                get { return _loeeCdExecutor; }
                set { _loeeCdExecutor = value; }
            }
    
            public string Layout
            {
                get { return _molaDsLayout; }
                set { _molaDsLayout = value; }
            }
    
            public string Fabricante
            {
                get { return _mobiNmFabricante; }
                set { _mobiNmFabricante = value; }
            }
    
            public string Modelo
            {
                get { return _mobiNmModelo; }
                set { _mobiNmModelo = value; }
            }
    
            public string Serial
            {
                get { return _mobiNrSerial; }
                set { _mobiNrSerial = value; }
            }
    
            public string Terminal
            {
                get { return _mobiNrTerminal; }
                set { _mobiNrTerminal = value; }
            }
    
            public string NumberMember
            {
                get { return _seemNrMember; }
                set { _seemNrMember = value; }
            }
    
            public string NumberGroup
            {
                get { return _grupNrGrupo; }
                set { _grupNrGrupo = value; }
            }
    
            public string DataPocicaoString
            {
                get { return _dtPosicao.ToString("dd/MM/yyyy HH:mm:ss"); }
            }
    
            public string LoeeDtEventoString
            {
                get { return _loeeDtEvento.ToString("dd/MM/yyyy HH:mm:ss"); }
    
            }
    
        }
    



    Daniel
    sexta-feira, 4 de novembro de 2011 15:27
  • Coloca a interrogação após o DateTime. Esse link pode ajudá-lo com tipos Nullable

    DateTime? _dtPosicao;      
    DateTime? _loeeDtEvento;
    

    • Sugerido como Resposta hamiltonj sexta-feira, 4 de novembro de 2011 16:27
    • Marcado como Resposta dralves sexta-feira, 4 de novembro de 2011 17:03
    sexta-feira, 4 de novembro de 2011 15:51
  • Lucas,

     

    Dá erro exatamente neste ponto que marquei em negrito. Segue o erro tb.

     

            public DateTime DtPosicao

            {

                get { return _dtPosicao; }

                set { _dtPosicao = value; }

            }

    Error 1 Cannot implicitly convert type 'System.DateTime?' to 'System.DateTime'. An explicit conversion exists (are you missing a cast?)

     


    Daniel
    sexta-feira, 4 de novembro de 2011 16:00
  • O Lucas respondeu corretamente.

    Altere seu código de:

    public DateTime DtPosicao

    para

    public DateTime? DtPosicao


    HJ
    sexta-feira, 4 de novembro de 2011 16:29