dotConnect for SQL Server Documentation
Devart.Data.SqlServer Namespace / SqlCommand Class / EndExecuteXmlReader Method
Example

EndExecuteXmlReader Method
Ends an asynchronous invocation of the ExecuteXmlReader method.
Syntax
'Declaration
 
Public Function EndExecuteXmlReader( _
   ByVal ar As IAsyncResult _
) As XmlReader
 

Parameters

ar

Return Value

Remarks
The function ends an asynchronous execution of a query that is started with BeginExecuteXmlReader. A pair of asynchronous functions (BeginExecuteReader and EndExecuteXmlReader) can be used instead of the synchronous function ExecuteXmlReader to gain more performance and flexibility in your application.

Refer to "Asynchronous Query Execution" article for detailed information.

Example
In the example below an easiest way of executing an asynchronous operation is shown. First, all components are set up and a connection is opened. Second, a data retrieval operation is started. The operation state (done or in progress) is checked and a report is written to the console. At last query results are sent to SqlDataReader and rendered to the console.
Public void Async_Exec(SqlConnection myConnection)
{
  SqlCommand myCommand = new SqlCommand("SELECT * FROM Test.Dept",myConnection);
  Console.WriteLine("Starting asynchronous retrieval of data...");
  myConnection.Open();
  IAsyncResult cres = myCommand.BeginExecuteReader(null,null,CommandBehavior.Default);
  if (cres.IsCompleted)
    Console.WriteLine("Completed.");
  else
    Console.WriteLine("Have to wait for operation to complete...");
  SqlDataReader myReader = myCommand.EndExecuteReader(cres);
  try
  {
    while (myReader.Read())
    {
      Console.WriteLine(myReader.GetInt32(0) + " " + myReader.GetString(1) + " " + myReader.GetString(2));
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
}
Public Sub Async_Exec(ByVal myConnection As SqlConnection)
  Dim myCommand As New SqlCommand("SELECT * FROM Test.Dept", myConnection)
  Console.WriteLine("Starting asynchronous retrieval of data...")
  myConnection.Open()
  Dim cres As IAsyncResult = myCommand.BeginExecuteReader(Nothing, Nothing, CommandBehavior.Default)
  If cres.IsCompleted Then
    Console.WriteLine("Completed.")
  Else
    Console.WriteLine("Have to wait for operation to complete...")
  End If
  Dim myReader As SqlDataReader = myCommand.EndExecuteReader(cres)
  Try
    While myReader.Read()
      Console.WriteLine(String.Concat(myReader.GetInt32(0), " ", myReader.GetString(1), " ", myReader.GetString(2)))
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

SqlCommand Class
SqlCommand Members
BeginExecuteXmlReader Method
Devart.Data.SqlServer.SqlCommand..ExecuteXmlReader
EndExecuteNonQuery Method