none
Por que utilizar um Nullable Type para ler o ID do banco de dados? RRS feed

  • Pergunta

  •  class ListaEditora
        {
            static void Main(string[] args)
            {
                string stringDeConexao = @"driver={SQL Server};
                server=PC-PAULO\INSTANCIAPJ; database=livraria;uid=sa;pwd=sa;";
    
                using (OdbcConnection conexao = new OdbcConnection(stringDeConexao))
                {
                    string textoListaEditora = "SELECT * FROM Editoras";
                    OdbcCommand command = new OdbcCommand(textoListaEditora, conexao);
    
                    conexao.Open();
                    OdbcDataReader resultado = command.ExecuteReader();
    
                    while (resultado.Read())
                    {
                        long? id = resultado["Id"] as long?; //System.Nullabe<int> Por que usar isso?
                        string nome = resultado["Nome"] as string;
                        string email = resultado["Email"] as string;
    
                        Console.WriteLine("{0}: {1} - {2}", id, nome, email);
                    }
    
                    Console.ReadKey();
                }
            }
        }

    Por que a variável id precisa ser Nullabe Type? Qual é a possibilidade de aparecer um valor nulo aí?

    Por que as outras variáveis não são Nullabe Type?

    Muito obrigado.


    sábado, 27 de dezembro de 2014 19:33

Respostas

  • Descobri, por causa do Operador As, ele não converte para tipos não anuláveis, por isso é necessário o Nullable.
    • Marcado como Resposta PauloJoséBR domingo, 28 de dezembro de 2014 03:29
    domingo, 28 de dezembro de 2014 03:29