Usuário com melhor resposta
Com trazer um valor data da tabela??

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")
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
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 :(
-
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
-