ADO Net Database ASP.Net Tutorial

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Configuration" %>

    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection DBCon;
        SqlCommand OrdersCommand = new SqlCommand();
        SqlCommand CustCommand = new SqlCommand();
        SqlDataReader OrdersReader;
        SqlDataReader CustReader;
        IAsyncResult OrdersASyncResult;
        IAsyncResult CustAsyncResult;
        int WHIndex;
        System.Threading.WaitHandle[] WHandles = new System.Threading.WaitHandle[1];
        System.Threading.WaitHandle OrdersWHandle;
        System.Threading.WaitHandle CustWHandle;
        DBCon = new SqlConnection();
        DBCon.ConnectionString = ConfigurationManager.ConnectionStrings["DSN_NorthWind"].ConnectionString;
        CustCommand.CommandText = " SELECT * FROM Customers WHERE CompanyName = 'A' ";
        CustCommand.CommandType = CommandType.Text;
        CustCommand.Connection = DBCon;
        OrdersCommand.CommandText = 
                " SELECT Customers.CompanyName, Customers.ContactName, " +
                " Orders.OrderID, Orders.OrderDate, " +
                " Orders.RequiredDate, Orders.ShippedDate " +
                " FROM Orders, Customers " +
                " WHERE Orders.CustomerID = Customers.CustomerID " +
                " AND Customers.CompanyName = 'Alfreds Futterkiste' " +
                " ORDER BY Customers.CompanyName, Customers.ContactName ";
        OrdersCommand.CommandType = CommandType.Text;
        OrdersCommand.Connection = DBCon;
        DBCon.Open();
        CustAsyncResult = CustCommand.BeginExecuteReader();
        OrdersASyncResult = OrdersCommand.BeginExecuteReader();
        CustWHandle = CustAsyncResult.AsyncWaitHandle;
        OrdersWHandle = OrdersASyncResult.AsyncWaitHandle;
        WHandles[0] = CustWHandle;
        WHandles[1] = OrdersWHandle;
        for (int Index = 0; Index < 2; Index++ )
        {
            WHIndex = System.Threading.WaitHandle.WaitAny(WHandles);
            switch (WHIndex)
            {
                case 0:
                    CustReader = CustCommand.EndExecuteReader(CustAsyncResult);
                    gvCustomers.DataSource = CustReader;
                    gvCustomers.DataBind();
                    break;
                case 1:
                    OrdersReader = 
                       OrdersCommand.EndExecuteReader(OrdersASyncResult);
                    gvOrders.DataSource = OrdersReader;
                    gvOrders.DataBind();
                    break;
            }
        }
        DBCon.Close();
    }



    The Wait Any Approach


    
    

    
    
            Runat="server">
        
                    DataField="CompanyName">
                    DataField="ContactName">
                    DataFormatString="{0:d}">
                    DataFormatString="{0:d}">
                    DataFormatString="{0:d}">
        

    
    

    


File: Web.config

  
                     connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />