Mega Code Archive

 
Categories / C# Tutorial / ADO Net
 

Start process of retrieving a data reader asynchronously, check the IsCompleted property value

using System; using System.Data.SqlClient; class Class1 {     static void Main()     {         string commandText = "WAITFOR DELAY '00:00:03';" +             "SELECT LastName, FirstName FROM Person.Contact " +             "WHERE LastName LIKE 'M%'";         RunCommandAsynchronously(commandText,"Data Source=(local);Integrated Security=true;Initial Catalog=AdventureWorks; Asynchronous Processing=true");         Console.WriteLine("Press ENTER to continue.");         Console.ReadLine();     }     private static void RunCommandAsynchronously(string commandText, string connectionString)     {         using (SqlConnection connection = new SqlConnection(connectionString)){             SqlCommand command = new SqlCommand(commandText, connection);             connection.Open();             IAsyncResult result = command.BeginExecuteReader();             int count = 0;             while (!result.IsCompleted){                 count += 1;                 Console.WriteLine("Waiting ({0})", count);                 System.Threading.Thread.Sleep(100);             }             using (SqlDataReader reader = command.EndExecuteReader(result))             {                 DisplayResults(reader);             }         }     }     private static void DisplayResults(SqlDataReader reader)     {         while (reader.Read())         {             for (int i = 0; i < reader.FieldCount; i++)                 Console.Write("{0} ", reader.GetValue(i));         }     } }