ADO Net C# Tutorial

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Threading;
  class Program
  {
    static void Main(string[] args)
    {
      SqlConnection cn = new SqlConnection();
      cn.ConnectionString = @"Data Source=(local)\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=YourDB;Asynchronous Processing=true";
      cn.Open();
      string strSQL = "WaitFor Delay '00:00:20';Select * From Inventory";
      SqlCommand myCommand = new SqlCommand(strSQL, cn);
      IAsyncResult itfAsynch = myCommand.BeginExecuteReader(CommandBehavior.CloseConnection);
      while (!itfAsynch.IsCompleted)
      {
        Thread.Sleep(1000);
      }
      SqlDataReader myDataReader = myCommand.EndExecuteReader(itfAsynch);
      while (myDataReader.Read())
      {
        Console.WriteLine("-> Make: {0}, PetName: {1}, Color: {2}.",
          myDataReader["Make"].ToString().Trim(),
          myDataReader["PetName"].ToString().Trim(),
          myDataReader["Color"].ToString().Trim());
      }
      myDataReader.Close();
    }
  }