O QUE FAZER PARA SABER QUAL A QUANTIDADE DE LINHAS
Bom dia!
Pessoal,eu utilizo o método abaixo para pesquisar algo na BD.
Funciona muito bem.Mas,tenho um problema que é o seguinte:
Public Function PesquisarUsuario(ByVal InstSql As String) As DataTable
Try
Select Case Conectar()
Case Is = True
[ô]Criar objeto
Dt = New DataTable
[ô]Criar DataAdapter
Ada = New OleDbDataAdapter(Inst_Sql, Con)
[ô]Trasfere dados para DataTable
Ada.Fill(Dt)
[ô]Returna valor
Select Case Dt.Rows.Count
Case Is > 0
[ô]Retorna valor
Return Dt
Case Else
[ô]Returna valor
Return Nothing
End Select
Case Else
[ô]Returna valor
Return Nothing
End Select
Catch ex As Exception
[ô]Returna valor
Return Nothing
Finally
[ô]Desconectar
Desconectar()
[ô]Descarta objetos da memória
Dt.Dispose()
Ada.Dispose()
End Try
End Function
Para conseguir verificar o resultado da função,eu uso o seguinte código:
Dt1 = PesquisarUsuario(InstrucaoSql)
Select case Dt1.Rows.Count
Case is > 0
Case else
End select
O problema é que quando a consulta,não retorna nenhuma linha,o VB.NET emite uma mensagem de erro quando eu
tento verificar se a quantidade de linhas é maior que zero.Existe algum motivo para isto?????
Pessoal,eu utilizo o método abaixo para pesquisar algo na BD.
Funciona muito bem.Mas,tenho um problema que é o seguinte:
Public Function PesquisarUsuario(ByVal InstSql As String) As DataTable
Try
Select Case Conectar()
Case Is = True
[ô]Criar objeto
Dt = New DataTable
[ô]Criar DataAdapter
Ada = New OleDbDataAdapter(Inst_Sql, Con)
[ô]Trasfere dados para DataTable
Ada.Fill(Dt)
[ô]Returna valor
Select Case Dt.Rows.Count
Case Is > 0
[ô]Retorna valor
Return Dt
Case Else
[ô]Returna valor
Return Nothing
End Select
Case Else
[ô]Returna valor
Return Nothing
End Select
Catch ex As Exception
[ô]Returna valor
Return Nothing
Finally
[ô]Desconectar
Desconectar()
[ô]Descarta objetos da memória
Dt.Dispose()
Ada.Dispose()
End Try
End Function
Para conseguir verificar o resultado da função,eu uso o seguinte código:
Dt1 = PesquisarUsuario(InstrucaoSql)
Select case Dt1.Rows.Count
Case is > 0
Case else
End select
O problema é que quando a consulta,não retorna nenhuma linha,o VB.NET emite uma mensagem de erro quando eu
tento verificar se a quantidade de linhas é maior que zero.Existe algum motivo para isto?????
Provavelmente e porque Dt esta ficando null , faz um teste if(dt <> null) ante de seu case.
é exatamente como o LENDAURBANA disse, você está retornando nada (nothing), e isto faz ocasionar um erro, pois o objeto não possui linhas para verificar, na verdade ele não possui nada!
Bom dia!
A sugestão dos colegas,faz sentido.
O problema é que o VB.NET não aceita a sintaxe:
if(dt <> null)
Algum colega,sabe como lidar com objetos DataTable, que não retornam nenhuma linha, quando se faz uma pesquisa???
A sugestão dos colegas,faz sentido.
O problema é que o VB.NET não aceita a sintaxe:
if(dt <> null)
Algum colega,sabe como lidar com objetos DataTable, que não retornam nenhuma linha, quando se faz uma pesquisa???
ha várias formas de fazer isto, mais vou passar a mais simples abaixo.
If dt IsNot Nothing Then
If dt.Rows.Count > 0 Then
....
End If
End If
If dt IsNot Nothing Then
If dt.Rows.Count > 0 Then
....
End If
End If
Tópico encerrado , respostas não são mais permitidas