Mega Code Archive

 
Categories / C# Tutorial / ADO Net
 

Asynchronous Processing Sql command

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