Asynchronous Processing Sql command : SqlCommand « ADO.Net « C# / CSharp Tutorial






using System;
using System.Data;
using System.Threading;
using System.Data.SqlClient;

class MainClass {
    public static void CallbackHandler(IAsyncResult result) {
        using (SqlCommand cmd = result.AsyncState as SqlCommand) {
            using (SqlDataReader reader = cmd.EndExecuteReader(result)) {
                lock (Console.Out) {
                    while (reader.Read()) {
                        Console.WriteLine("  {0} = {1}",
                            reader["ID"],
                            reader["FirstName"]);
                    }
                }
            }
        }
    }

    public static void Main()
    {
        using (SqlConnection con = new SqlConnection())
        {
            con.ConnectionString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;Asynchronous Processing=true;";

            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT ID, FirstName FROM Employee";

            con.Open();
            cmd.BeginExecuteReader(CallbackHandler, cmd);

            // Continue with other processing.
            for (int count = 0; count < 10; count++)
            {
                lock (Console.Out)
                {
                    Console.WriteLine("{0} : Continue processing...",
                        DateTime.Now.ToString("HH:mm:ss.ffff"));
                }
                Thread.Sleep(500);
            }
        }
    }
}








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