How to bind gridview using DataReader, SqlCommand and Stored procedure in

Introduction: In previous articles i explained How to bind gridview using DataReader, SqlCommand and query in  and How to bind empty GridView with header and custom message when no data present in Datatable in and How to bind gridview using SqlDataAdapter, SqlCommand, DataTable and Stored procedure in provides multiple ways to bind data with gridview control. in this article i have explained how to bind GridView using DataReader, SqlCommand and Stored procedure in

Gridview Binding example in
Clcik on image to enlarge

Create a Database e.g. "MyDataBase" and a table under that DataBase in Sql Server and name it "EMPLOYEE" as  shown in figure:

Binding gridview example in
Click on image to enlarge

 Note: EMP_ID column is set to Primary key and Identity specification is set to yes with Identity increment and Identity seed equal to 1. Insert some data in this table that you  want to show in the Gridview.
  • Create a stored procedure in sql server as:
CREATE PROCEDURE GET_EMP_DATA                       
                SELECT * FROM EMPLOYEE                
  • Now in web.config file add the connectionstring under <configuration> tag :
    <add name="EmpCon" connectionString="Data Source=LALIT;Initial Catalog=MyDataBase;Integrated Security=True"/>

  • Add a GridView control in design page of your website under <BODY> tag
<fieldset style="width:230px;">
            <legend>Gridview Binding Example</legend>
            <asp:GridView ID="EmpGridView" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None">    
         <AlternatingRowStyle BackColor="White" />
        <asp:BoundField DataField="EMP_NAME"  HeaderText="Name" />
        <asp:BoundField DataField="DEPT"  HeaderText="Department" />
        <asp:BoundField DataField="SALARY"  HeaderText="Salary" />  
         <EditRowStyle BackColor="#2461BF" />
         <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
         <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
         <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
         <RowStyle BackColor="#EFF3FB" />
         <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
         <SortedAscendingCellStyle BackColor="#F5F7FB" />
         <SortedAscendingHeaderStyle BackColor="#6D95E1" />
         <SortedDescendingCellStyle BackColor="#E9EBEF" />
         <SortedDescendingHeaderStyle BackColor="#4870BE" />
  • In the code behind file(.aspx.cs)  of your website write the code as

C#.Net Code to bind gridview using DataReader, SqlCommand and Stored procedure

First include the following namespaces

using System.Data;
using System.Data.SqlClient;
using System.Configuration;
then write code as:
protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)

    private void BindEmpGrid()
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["EmpCon"].ConnectionString);
        DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand("GET_EMP_DATA", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr = cmd.ExecuteReader();       

            if (dr.HasRows)
                EmpGridView.DataSource = dr;
        catch(Exception ex)
            Response.Write("Error Occured: " + ex.ToString());

 VB.Net Code  to bind gridview using DataReader, SqlCommand and Stored procedure
First  import  the following namespaces

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
then write code as: 

Protected Sub Page_Load(sender As Object, e As EventArgs)
                    If Not IsPostBack Then
                    End If
End Sub

Private Sub BindEmpGrid()
                    Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("EmpCon").ConnectionString)
                    Dim ds As New DataSet()
                                         Dim cmd As New SqlCommand("SELECT * FROM EMPLOYEE", con)
                                         Dim dr As SqlDataReader = cmd.ExecuteReader()

                                         If dr.HasRows Then
                                                             EmpGridView.DataSource = dr
                                                             EmpGridView.DataSource = Nothing
                                         End If
                    Catch ex As Exception
                                         Response.Write("Error Occured: " & ex.ToString())
                    End Try
End Sub

Next Post »

If you have any question about any post, Feel free to ask.You can simply drop a comment below post or contact via Contact Us form. Your feedback and suggestions will be highly appreciated. Also try to leave comments from your account not from the anonymous account so that i can respond to you easily..