Start process of retrieving a data reader asynchronously, check the IsCompleted property value. : SqlCommand « ADO.Net « C# / CSharp Tutorial






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));
        }
    }
}








32.18.SqlCommand
32.18.1.Create a SqlCommand
32.18.2.Create SqlCommand with both sql query and connection
32.18.3.SqlCommand: AutoClose
32.18.4.Execute two sql commands
32.18.5.Asynchronous Processing Sql command
32.18.6.Start process of retrieving a data reader asynchronously, check the IsCompleted property value.
32.18.7.SqlCommand with Callback Handler
32.18.8.Add parameters to the SqlCommand
32.18.9.SQL StoredProcedure
32.18.10.Execute Scalar with SqlCommand
32.18.11.Execute the scalar SQL statement and store results
32.18.12.Executing a Parameterized Query with SqlCommand
32.18.13.Batch Update Demo
32.18.14.Execute update statement with SqlCommand against MDF file
32.18.15.Executing a Query That Returns a Single Value
32.18.16.Async Command Object Demo