SqlCommand with Callback Handler : 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) {
                    Console.WriteLine("Price of the Ten Most Expensive Products:");
                    while (reader.Read()) {
                        Console.WriteLine("  {0} = {1}",
                            reader["TenMostExpensiveProducts"],
                            reader["UnitPrice"]);
                    }
                }
            }
        }
    }

    public static void Main() {
        using (SqlConnection con = new SqlConnection()) {
            con.ConnectionString = @"Data Source = .\sqlexpress;" +
                "Database = Northwind; Integrated Security=SSPI;" +
                "Asynchronous Processing=true";

            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "Ten Most Expensive Products";

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

            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