dotConnect for Dynamics 365 Documentation
Devart.Data Namespace / SqlShimDataReader Class / HasRows Property
Example

HasRows Property (SqlShimDataReader)
Gets a value indicating whether the SqlShimDataReader contains one or more rows.
Syntax
'Declaration
 
Public Overrides ReadOnly Property HasRows As Boolean
 

Property Value

true if the SqlShimDataReader contains one or more rows; otherwise, false.
Remarks
Note that this property returns true even if all rows were read out.
Example
This sample shows how to optimize reading from a data source using HasRows property.
public void FetchResults(DynamicsConnection dynamicsConnection)
{
  DynamicsCommand cmd = new DynamicsCommand("SELECT * FROM contact");
  cmd.FetchSize = 100;
  cmd.Connection = dynamicsConnection;
  dynamicsConnection.Open();
  try
  {
    DynamicsDataReader reader = cmd.ExecuteReader();
    if (reader.HasRows)
    {
      while (reader.Read())
      {
        for (int i=0;i<reader.FieldCount;i++)
        {
          Console.Write("\t"+reader[i]);
        }
        Console.WriteLine();
      }
    }
    else
    {
      Console.WriteLine("No rows detected.");
    }
  }
  finally
  {
    dynamicsConnection.Close();
  }
}
Public Sub FetchResults(ByVal dynamicsConnection As DynamicsConnection)
  Dim cmd As DynamicsCommand = New DynamicsCommand("SELECT * FROM contact")
  cmd.FetchSize = 100
  cmd.Connection = dynamicsConnection
  dynamicsConnection.Open()
  Try
    Dim reader As DynamicsDataReader = cmd.ExecuteReader()
    If reader.HasRows Then
      While reader.Read()
        Dim i
        For i = 0 To reader.FieldCount - 1
          Console.Write(String.Concat(" ", reader(i)))
        Next i
        Console.WriteLine()
      End While
    Else
      Console.WriteLine("No rows detected.")
    End If
  Finally
    dynamicsConnection.Close()
  End Try
End Sub
See Also