none
Com trazer um valor data da tabela?? RRS feed

  • Pergunta

  • Boa tarde a todos,

    Estou com dificuldades em trazer um valor data da tabela, não sei como fazer.

    Actualmente a caixa em questão "caixadatanegocio" nem tem valor, mas como é do formato data, dá erro na pesquisa indicando o seguinte erro em,  caixadatanegocio.Text = rs("data_negocio") conversão do tipo 'DBNull' para o tipo 'String' não é válida.

    Podem ajudar-me?

    strConnection = ConnectionStrings("GescomercialConnectionString").ConnectionString
            dbConn = New SqlClient.SqlConnection(strConnection)
            dbConn.Open()
            strSQL = "SELECT * FROM tbl_cliente  WHERE nif='" & caixapesquisanif.Text & "'"
            dCmd = New SqlCommand(strSQL, dbConn)

            Dim rs As SqlDataReader = dCmd.ExecuteReader

            If rs.Read() Then
                'existem valores??
                caixapesquisanif.Text = ""
                caixanif.Text = rs("nif")
                caixanome.Text = rs("nome")
                caixaresponsavel.Text = rs("responsavel")
                caixalocalidade.Text = rs("localidade")
                caixacontato.Text = rs("contato")
                droptipocliente.Text = rs("tipo_cliente")
                dropestadonegocio.Text = rs("estado_negocio")
                caixadatanegocio.Text = rs("data_negocio")

    sábado, 15 de setembro de 2012 14:08

Respostas

  • Amigo,

    Isso você nunca mais vai esquecer...no seu código "rs(...)" é um objeto então se você está passando ele para um campo Text você deve converter esse valor para evitar esse tipo de problema.

    Como fazer isso?

    caixadatanegocio.Text = Convert.ToString(rs("data_negocio"))
    
    'OU
    
    caixadatanegocio.Text = rs("data_negocio").ToString()

    Esse problema pode acontecer com Session, Request e outros métodos do .NET. 

    Então nunca se esqueça sempre que estiver trabalhando com um objeto no momento da exibição não esqueça de converter.

    Espero ter ajudado e boa sorte!


    • Editado Lucas Vandor sábado, 15 de setembro de 2012 15:40
    • Marcado como Resposta RubenmSoares sábado, 15 de setembro de 2012 21:05
    sábado, 15 de setembro de 2012 15:39

Todas as Respostas

  • Afinal o problema esta no facto de a caixadatanegocio.Text não ter valor.

    Mas a mesma não pode ser obrigada a ter, isto porque um cliente pode estar num estado de negociação sem ter sido realizado a data de negócio.

    O objectivo é selecionar o cliente da tabela a fim de poder editar, com isso então aplicar a data de dengócio caso seja necessário.

    Não sei como contornar :(

    sábado, 15 de setembro de 2012 15:03
  • Amigo,

    Isso você nunca mais vai esquecer...no seu código "rs(...)" é um objeto então se você está passando ele para um campo Text você deve converter esse valor para evitar esse tipo de problema.

    Como fazer isso?

    caixadatanegocio.Text = Convert.ToString(rs("data_negocio"))
    
    'OU
    
    caixadatanegocio.Text = rs("data_negocio").ToString()

    Esse problema pode acontecer com Session, Request e outros métodos do .NET. 

    Então nunca se esqueça sempre que estiver trabalhando com um objeto no momento da exibição não esqueça de converter.

    Espero ter ajudado e boa sorte!


    • Editado Lucas Vandor sábado, 15 de setembro de 2012 15:40
    • Marcado como Resposta RubenmSoares sábado, 15 de setembro de 2012 21:05
    sábado, 15 de setembro de 2012 15:39
  • Obrigado Lucas

    Ajudou muito :)

    sábado, 15 de setembro de 2012 21:05