 VB.NET 
- Verificando se existem dados
VB.NET 
- Verificando se existem dados
Como verificar se a execução de sua consulta a fonte de dados retornou registros ?
Essa é uma operação simples de ser feita , você pode usar :
Vamos mostrar um exemplo onde o código cria e preenche um objeto DataTable e usa a propriedade Count de DataRowCollection para determinar se a consulta usada para cria a tabela retorna dados.
Na sequência um DataReader será criado ; vamos usar a propriedade HasRows e o método Read() para determinar se o comando usado para criar o DataReader retornou linhas ou não
Crie um novo projeto no VS.NET to tipo Windows Application e insira um componente TextBox com propriedade Multiline definida como True e um botão de comando.
Defina os seguintes imports no projeto:
Imports 
System.Data.oledb
Imports System.text
Defina a seguinte variável no seu projeto:
Private Const TABELA_ORDER As String = "Orders"
Agora insira o seguinte código do evento Click do botão de comando:
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click         Dim result As StringBuilder = New StringBuilder
        Dim strConn As String
        Dim sql As String
        sql = "SELECT * FROM Orders"strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\teste\Northwind.mdb"         Dim da As OleDBDataAdapter = New OleDBDataAdapter(sql, strConn)
        Dim tbl As DataTable = New DataTable(TABELA_ORDER)        'preenche o dataadapter
        Try
            da.Fill(tbl)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
            Exit Sub
        End TryDim tabelaTemRegistros As Boolean = tbl.Rows.Count > 0         If tabelaTemRegistros Then
            result.Append("DataTable(Count) " & TABELA_ORDER + " possui registros  " & Environment.NewLine & Environment.NewLine)
        Else
            result.Append("DataTable(Count) " & TABELA_ORDER + "  NÃO possui registros " & Environment.NewLine & _
 Environment.NewLine)
        End If        Dim conn As OleDbConnection = New OleDbConnection(strConn)
        Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM ORDERS", conn)conn.Open() Dim orderReader As OleDbDataReader = cmd.ExecuteReader         result.Append("DataReader(HasRows) " & TABELA_ORDER & " possui registros = " & orderReader.HasRows.ToString _
& Environment.NewLine & Environment.NewLine)Dim readerTemRegistros As Boolean = orderReader.Read         If readerTemRegistros Then
            result.Append("DataReader(Read) " & TABELA_ORDER & " possui registros " & Environment.NewLine & Environment.NewLine)
        Else
            result.Append("DataReader(Read) " & TABELA_ORDER & " NÃO possui registros " & Environment.NewLine & Environment.NewLine)
        End If        orderReader.Close()
        conn.Close()        resultado.Text = result.ToString
    End Sub | 
Executando o projeto teremos:

O resultado acima exibe a utilização das propriedades Count, HasRows e do método Read() retornando valores para a tabela Orders do banco de dados Northwind.mdb.
O objeto DataTable contém um objeto DataRowCollection que contém todas os objetos DataRow em uma Tabela. A coleção DataRowCollection possui a propriedade Count que retorna o número de linhas em uma tabela. A propriedade Count para uma tabela vazia retorna o valor zero.
A propriedade HasRows de um DataReader retorna um valor Booleano indicando se o DataReader contém qualquer registro.
Outra forma é usar o método Read() para avançar no DataReader para o próximo registro. Ele retorna um valor True se o registro esta disponível ou False caso contrário. A primeira chamada ao método Read() irá indicar se qualquer registro foi retornado pelo DataReader.
Esta é a única forma de determinar se um DataReader contém qualquer registro antes da introdução do propriedade HasRows na versão 1.1 do .NET Framework
E tenho dito... Até mais ver...
