Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SID_SILVA

Declaracao de Data Reader

Recommended Posts

Boa Tarde Amigos

 

 

 

As vezes eu declaro um Data Reader.

 

 

 

Dim dr As SqlDataReader

 

 

Depois , o utilizo:

 

 

 

.

 

.

 

.

 

 

 

dr = cmd.ExecuteReader()



dr.Read()

If dr.HasRows Then

   Session("Nome_Usuario") = dr("User_Nome")

   Session("User_ID") = dr("User_ID")

Else

   LblMsg.Visible = True

   LblMsg.Text = "Usuário ou Senha Incorreta!"

End If

Catch ex As Exception

LblMsg.Visible = True

LblMsg.Text = ex.Message

dr.Close()   

cn.Close()

End Try

 

 

Ate ai tudo bem, porem na linha do "dr.Close() ", o "dr", aparece sublinhnado, informando que existe algum problema, normalmente quando nao foi definido anteriormente que que pudesse ser utilizado.

 

 

 

Quando executo a opcao Build para verificar os erros me e informada a seguinte mensagem abaixo:

 

 

 

"Warning 4 Variable 'dr' is used before it has been assigned a value. A null reference exception could result at runtime. C:\TimeSheet\Login.aspx.vb 166 13 C:\TimeSheet\".

 

 

 

Poderiam me dizer porque isso acontece, sendo que eu consigo executar a pagina sem problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto não é um erro, é apenas um Warning, é algo que pode gerar erro em tempo de execução.

O que acontece é que essa parte do código:

dr.Close()
cn.Close()

Esta dentro do seu bloco Catch. Resumindo só vai dar um close no seu DataReader e na sua conexão quando der erro??

Esta parte do código deveria estar em um bloco finally e não no Catch.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.