EndExecuteNonQuery Method (DB2Command)
                In This Topic
            
            Ends an asynchronous invocation of the 
ExecuteNonQuery method.
            Ends an asynchronous invocation of the 
ExecuteNonQuery method.
            
            
Syntax
            
        
            Parameters
- result
- The System.IAsyncResult returned from BeginExecuteNonQuery.
Return Value
For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1.
 
            
            
            
            
            
            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 query execution is started. The operation state (done or in progress) is checked and a report is written to the console. At last query result is rendered.
            
             
    
	
	    
	    static void Async_Exec(DbConnectionBase myConnection)
{
  DbCommandBase myCommand = (DbCommandBase)myConnection.CreateCommand();
  myCommand.CommandText = "UPDATE Dept SET DName='New Department' WHERE DeptNo=10";
  Console.WriteLine("Starting asynchronous query execution...");
  myConnection.Open();
  IAsyncResult cres = myCommand.BeginExecuteNonQuery(null, null);
  if (cres.IsCompleted)
    Console.WriteLine("Completed.");
  else
    Console.WriteLine("Have to wait for operation to complete...");
  try
  {
    int RowsAffected = myCommand.EndExecuteNonQuery(cres);
    Console.WriteLine("Done. Rows affected: " + RowsAffected.ToString());
  }
  catch (Exception e)
  {
    Console.WriteLine("An exception has occurred: " + e.Message);
  }
  finally
  {
    myConnection.Close();
  }
} 
 
    
	
	    
	    Public Sub Async_Exec(ByVal myConnection As DbConnectionBase)
  Dim myCommand As DbCommandBase = myConnection.CreateCommand()
  myCommand.CommandText = "UPDATE Dept SET DName='New Department' WHERE DeptNo=20"
  Console.WriteLine("Starting asynchronous query execution...")
  myConnection.Open()
  Dim cres As IAsyncResult = myCommand.BeginExecuteNonQuery(Nothing, Nothing)
  If cres.IsCompleted Then
    Console.WriteLine("Completed.")
  Else
    Console.WriteLine("Have to wait for operation to complete...")
  End If
  Try
    Dim RowsAffected As Integer = myCommand.EndExecuteNonQuery(cres)
    Console.WriteLine(String.Concat("Rows affected: ", RowsAffected.ToString()))
  Catch e As Exception
    Console.WriteLine(String.Concat("An exception has occurred: ", e.Message))
  Finally
    myConnection.Close()
  End Try
End Sub 
 
See Also