Home / C Sharp / C# ADO.NET / Archive by category 'ADO.NET Examples'

ADO.NET Examples

How to fill a DataSet Object in C#

Add a Button control named btnLoad and a DataGrid control named dgProducts on the form/page.

using System.Data;
using System.Data.SqlClient;
private void btnLoad_Click(object sender,  System.EventArgs e)
{
    // Create a SqlConnection
    SqlConnection cnn = new SqlConnection(
    "Data Source=(local); Initial Catalog=Northwind;"+
    " Integrated Security=SSPI");
    // Create a SqlCommand
    SqlCommand cmd = cnn.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "SELECT * FROM Products " +
     " ORDER BY ProductName";
    // Set up the DataAdapter and fill the DataSet
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataSet ds = new DataSet();
    da.Fill(ds, "Products");
    // Display the data on the user interface
    dgProducts.DataSource = ds;
    dgProducts.DataMember = "Products";
}

Using a ADO.NET SqlDataReader Object in C#

Add a Button control (btnGetCustomers) and a ListBox control (lbCustomers) to your form/page.

using System.Data;
using System.Data.SqlClient;
 
private void btnGetCustomers_Click(object sender,
     System.EventArgs e)
{
    // Connect to the database
    SqlConnection cnn = new SqlConnection();
    cnn.ConnectionString = "Data Source=(local);" +
    "Initial Catalog=Northwind;" +
    "Integrated Security=SSPI";
    // Create a new ad hoc query
    // to retrieve customer names
    SqlCommand cmd = cnn.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText =
        "SELECT CompanyName FROM Customers "
    + " ORDER BY CompanyName";
    // Dump the data to the user interface
    cnn.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        lbCustomers.Items.Add(dr.GetString(0));
    }
    // Clean up
    dr.Close();
    cnn.Close();
}

What are the different data provider objects in ADO.NET

The five main data provider objects are:

1.Connection
2.Command
3.Parameter
4.DataReader
5.DataAdapter

These are the generic names for the classes defined in System.Data.Common namespace.


CSharp Add Asp:Textbox To Asp:Datagrid Edit Mode – ADO.Net Database

<%@ Page Language=VB Debug=true %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OLEDB" %>
<script runat=server>
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
        BuildDataList
    End If
End Sub
Sub DataList_Edit(sender As Object, e As DataListCommandEventArgs)
    dlDepts.EditItemIndex = CInt(e.Item.ItemIndex)
    BuildDataList
End Sub
Sub DataList_Update(sender As Object, e As DataListCommandEventArgs)
    Dim TheID as String
    Dim TheFirstName as String
    Dim TheLastName as String
    TheID = CType(e.Item.FindControl("lblID"), Label).Text
    TheFirstName = CType(e.Item.FindControl("txtName"), TextBox).Text
    TheLastName = CType(e.Item.FindControl("txtEmail"), TextBox).Text
    Dim DBConn as OleDbConnection
    Dim DBUpdate As New OleDbCommand
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBUpdate.CommandText = "Update Employee set " _
        & "FirstName = '" & Replace(TheFirstName, "'", "''") & "', " _
        & "LastName = '" & Replace(TheLastName, "'", "''") & "' " _
        & "Where ID = " & TheID
    DBUpdate.Connection = DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = -1
    BuildDataList
End Sub
Sub BuildDataList ()
        Dim DBConn as OleDbConnection
        Dim DBCommand As OleDbDataAdapter
        Dim DSPageData as New DataSet
        DBConn = New OleDbConnection( _
            "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "DATA SOURCE=" _
            & Server.MapPath("EmployeeDatabase.mdb;"))
        DBCommand = New OleDbDataAdapter _
            ("Select ID, FirstName, LastName " _
            & "From Employee " _
            & "Order By FirstName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dlDepts.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dlDepts.DataBind()
End Sub
</script>
<html>
<head>
<title>Editing Rows from a DataList Control</title>
</head>
<body LEFTMARGIN="40">
<form runat="server">
<br /><br />
<asp:Label
    id="lblMessage"
    Font-Size="12pt"
    Font-Bold="True"
    Font-Name="Lucida Console"
    text="Below is a list of all the employee"
    runat="server"
/>
<br /><br />
<asp:datalist
    id="dlDepts"
    runat="server"
    oneditcommand="DataList_Edit"
    onupdatecommand="DataList_Update"
    gridlines="Both"
    backcolor="lightyellow"
    forecolor="darkred"
>
    <itemtemplate>
        <b>Department: </b>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        <%# DataBinder.Eval(Container.DataItem, "FirstName") _
            & " - " _
            & DataBinder.Eval(Container.DataItem, "LastName")
         %>
         <asp:LinkButton
             id="butEdit"
              Text="Edit"
              CommandName="Edit"
              runat="server"
          />
    </itemtemplate>
    <edititemtemplate>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        Name:
        <asp:textbox
            id="txtName"
            text='<%# DataBinder.Eval(Container.DataItem, "FirstName") %>'
            runat="server"
        />
        <br />
        Email:
        <asp:textbox
            id="txtEmail"
            text='<%# DataBinder.Eval(Container.DataItem, "LastName") %>'
            runat="server"
        />
        <br />
         <asp:LinkButton
             id="butUpdate"
              Text="Update"
              CommandName="Update"
              runat="server"
          />
    </edititemtemplate>
</asp:datalist>
</form>
</body>
</html>

CSharp Add Datacolumn To Datatable – ADO.Net Database

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">    void Page_Load(object sender, EventArgs e)
    {
      if (!Page.IsPostBack)
        BindData();
    }
 
 
    IEnumerable ItemsInCart()
    {       DataTable dt = new DataTable();
       DataRow dr;
 
       dt.Columns.Add(new DataColumn("ProductID", typeof(int)));
       dt.Columns.Add(new DataColumn("Name", typeof(string)));
       dt.Columns.Add(new DataColumn("Price", typeof(float)));
 
       for (int i = 0; i < 10; i++)
       {
          dr = dt.NewRow();
 
          dr[0] = i+1;
          dr[1] = "Item " + i.ToString();
          dr[2] = (float) 1.2 * i;
 
          dt.Rows.Add(dr);
       }
 
       DataView dv = new DataView(dt);
       return dv;
    }
 
 
    string GetProductDescription(int ID)
    {
      return "This is the description for product " + ID.ToString() + "...";
    }
 
 
    void BindData()
    {
      dgCart.DataSource = ItemsInCart();
      dgCart.DataBind();
    }
 
 
    void dgCart_ItemCommand(object sender, DataGridCommandEventArgs e)
    {
      Response.Write("A button was clicked...");
    }</script>
<form runat="server">
  <asp:DataGrid runat="server" id="dgCart"
        AutoGenerateColumns="False"
        Font-Name="Verdana"
        Font-Size="8pt"
        OnItemCommand="dgCart_ItemCommand">
 
    <headerStyle HorizontalAlign="Center"
                 Font-Bold="True"
                 Font-Size="11pt"
                 BackColor="Navy"
                 ForeColor="White" />
 
    <columns>
      <asp:ButtonColumn Text="Remove"
                        ButtonType="PushButton"
                        HeaderText="Remove" />
      <asp:ButtonColumn Text="Details"
                        ButtonType="PushButton"
                        HeaderText="Details" />
 
      <asp:BoundColumn DataField="Name" HeaderText="Product Name" />
      <asp:BoundColumn DataField="Price"
                       HeaderText="Price"
                       ItemStyle-HorizontalAlign="right"
                       DataFormatString="{0:c}" />
    </columns>
  </asp:DataGrid>
</form>

CSharp Add Datarow To Datatable – ADO.Net Database

<%@Import namespace="System.Data" %>
<script language="C#" runat="server">
protected void Page_Load(object o, EventArgs e) {
    datagrid.DataSource = GetData();
    DataBind();
}DataTable GetData() {
    DataTable data = new DataTable();
    data.Columns.Add(new DataColumn("TheID", typeof(Int32)));
    data.Columns.Add(new DataColumn("Name", typeof(string)));
    data.Columns.Add(new DataColumn("TimeZone", typeof(string)));    DataRow dr;
    dr = data.NewRow();
    dr[0] = 1; dr[1] = "Washington"; dr[2] = "Pacific";
    data.Rows.Add(dr);
    dr = data.NewRow();
    dr[0] = 2; dr[1] = "Utah"; dr[2] = "Mountain";
    data.Rows.Add(dr);
    dr = data.NewRow();
    dr[0] = 3; dr[1] = "Wisconsin"; dr[2] = "Central";
    data.Rows.Add(dr);    return data;
}
</script>
<form runat="server">
<asp:DataGrid runat="server" id="datagrid" />
</form>

CSharp Adding Delete Link To Gridview – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1"
                      Runat="server"
                      DataSourceID="SqlDataSource1"
                      DataKeyNames="CustomerID"
                      AutoGenerateColumns="False"
                      AllowSorting="True"
                      AllowPaging="True"
                      AutoGenerateEditButton="true"
                      AutoGenerateDeleteButton="true">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                            FirstPageText="Go to the first page"
                            LastPageText="Go to the last page"
                            Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True"
                                HeaderText="CustomerID"
                                DataField="CustomerID"
                                SortExpression="CustomerID"
                                Visible="False"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                    DataNavigateUrlFields="CustomerID,Country" SortExpression="CompanyName"
                    DataNavigateUrlFormatString=
                        "http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                    DataTextField="CompanyName">
                </asp:HyperLinkField>                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
 
            </columns>
        </asp:GridView>        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
             DataSourceMode="DataSet"
             UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                  [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                  [Address] = @Address, [City] = @City, [Region] = @Region,
                  [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                  [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
             <updateParameters>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
             </updateParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Section To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1"
                      Runat="server"
                      DataSourceID="SqlDataSource1"
                      DataKeyNames="CustomerID"
                      AutoGenerateColumns="False"
                      AllowSorting="True"
                      AllowPaging="True"
                      AutoGenerateEditButton="true"
                      AutoGenerateDeleteButton="true">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                            FirstPageText="Go to the first page"
                            LastPageText="Go to the last page"
                            Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True"
                                HeaderText="CustomerID"
                                DataField="CustomerID"
                                SortExpression="CustomerID"
                                Visible="False"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                                    DataNavigateUrlFields="CustomerID,Country"
                                    SortExpression="CompanyName"
                                    DataNavigateUrlFormatString="http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                    DataTextField="CompanyName">
                </asp:HyperLinkField>                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
 
            </columns>
        </asp:GridView>        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
             DataSourceMode="DataSet"
             DeleteCommand="DELETE From Customers WHERE (CustomerID = @CustomerID)"
             UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                  [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                  [Address] = @Address, [City] = @City, [Region] = @Region,
                  [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                  [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
             <updateParameters>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
             </updateParameters>
        </asp:SqlDataSource>
 
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Autogenerateinsertbutton Attribute To Detailsview – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1"
                      runat="server"
                      DataSourceId="SqlDataSource1"
                      AllowPaging="True"
                      BorderColor="#DEBA84"
                      BorderStyle="None"
                      BorderWidth="1px"
                      BackColor="#DEBA84"
                      CellSpacing="2"
                      CellPadding="3"
                      DataKeyNames="CustomerID"
                      AutoGenerateSelectButton="True"
                      AutoGenerateColumns="False"
                      PageSize="5">
             <footerStyle ForeColor="#8C4510" BackColor="#F7DFB5"></footerStyle>
             <pagerStyle ForeColor="#8C4510" HorizontalAlign="Center"></pagerStyle>
             <headerStyle ForeColor="White" BackColor="#A55129" Font-Bold="True"></headerStyle>
             <columns>
                 <asp:BoundField ReadOnly="True"
                                 HeaderText="CustomerID"
                                 DataField="CustomerID"
                                 SortExpression="CustomerID">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="CompanyName"
                                 DataField="CompanyName"
                                 SortExpression="CompanyName">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="ContactName"
                                 DataField="ContactName"
                                 SortExpression="ContactName">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="ContactTitle"
                                 DataField="ContactTitle"
                                 SortExpression="ContactTitle">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="Address"
                                 DataField="Address"
                                 SortExpression="Address"></asp:BoundField>
                 <asp:BoundField HeaderText="City"
                                 DataField="City"
                                 SortExpression="City"></asp:BoundField>
                 <asp:BoundField HeaderText="Region"
                                 DataField="Region"
                                 SortExpression="Region"></asp:BoundField>
                 <asp:BoundField HeaderText="PostalCode"
                                 DataField="PostalCode"
                                 SortExpression="PostalCode"></asp:BoundField>
                 <asp:BoundField HeaderText="Country"
                                 DataField="Country"
                                 SortExpression="Country"></asp:BoundField>
                 <asp:BoundField HeaderText="Phone"
                                 DataField="Phone"
                                 SortExpression="Phone"></asp:BoundField>
                 <asp:BoundField HeaderText="Fax"
                                 DataField="Fax"
                                 SortExpression="Fax"></asp:BoundField>
            </columns>
            <selectedRowStyle ForeColor="White"
                              BackColor="#738A9C"
                              Font-Bold="True"></selectedRowStyle>
            <rowStyle ForeColor="#8C4510" BackColor="#FFF7E7"></rowStyle>
        </asp:GridView>
        <p><b>Customer Details:</b></p>
        <asp:DetailsView ID="DetailsView1"
                         runat="server"
                         DataSourceId="SqlDataSource2"
                         BorderColor="#DEBA84"
                         BorderStyle="None"
                         BorderWidth="1px"
                         BackColor="#DEBA84"
                         CellSpacing="2"
                         CellPadding="3"
                         AutoGenerateRows="False"
                         AutoGenerateInsertButton="true"
                         DataKeyNames="CustomerID">
             <footerStyle ForeColor="#8C4510" BackColor="#F7DFB5"></footerStyle>
             <rowStyle ForeColor="#8C4510" BackColor="#FFF7E7"></rowStyle>
             <pagerStyle ForeColor="#8C4510" HorizontalAlign="Center"></pagerStyle>
             <fields>
                <asp:BoundField ReadOnly="True" HeaderText="CustomerID"
                      DataField="CustomerID" SortExpression="CustomerID">
                </asp:BoundField>
                <asp:BoundField HeaderText="CompanyName" DataField="CompanyName"
                     SortExpression="CompanyName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" DataField="Region"
                     SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </fields>
            <headerStyle ForeColor="White" BackColor="#A55129"
                Font-Bold="True"></headerStyle>
            <editRowStyle ForeColor="White" BackColor="#738A9C"
                Font-Bold="True"></editRowStyle>
        </asp:DetailsView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>" />
        <asp:SqlDataSource ID="SqlDataSource2" runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             FilterExpression="CustomerID='{0}'"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>">
             <filterParameters>
                 <asp:ControlParameter Name="CustomerID" ControlId="GridView1"
                      PropertyName="SelectedValue"></asp:ControlParameter>
             </filterParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Insertcommand To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1"
                      runat="server"
                      DataSourceId="SqlDataSource1"
                      AllowPaging="True"
                      BorderColor="#DEBA84"
                      BorderStyle="None"
                      BorderWidth="1px"
                      BackColor="#DEBA84"
                      CellSpacing="2"
                      CellPadding="3"
                      DataKeyNames="CustomerID"
                      AutoGenerateSelectButton="True"
                      AutoGenerateColumns="False"
                      PageSize="5">
             <footerStyle ForeColor="#8C4510"
                          BackColor="#F7DFB5"></footerStyle>
             <pagerStyle ForeColor="#8C4510"
                         HorizontalAlign="Center"></pagerStyle>
             <headerStyle ForeColor="White"
                          BackColor="#A55129"
                          Font-Bold="True"></headerStyle>
             <columns>
                 <asp:BoundField ReadOnly="True"
                                 HeaderText="CustomerID"
                                 DataField="CustomerID"
                                 SortExpression="CustomerID">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="CompanyName"
                                 DataField="CompanyName"
                                 SortExpression="CompanyName">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="ContactName"
                                 DataField="ContactName"
                                 SortExpression="ContactName">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="ContactTitle"
                                 DataField="ContactTitle"
                                 SortExpression="ContactTitle">
                 </asp:BoundField>
                 <asp:BoundField HeaderText="Address" DataField="Address"
                      SortExpression="Address"></asp:BoundField>
                 <asp:BoundField HeaderText="City" DataField="City"
                      SortExpression="City"></asp:BoundField>
                 <asp:BoundField HeaderText="Region" DataField="Region"
                      SortExpression="Region"></asp:BoundField>
                 <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                      SortExpression="PostalCode"></asp:BoundField>
                 <asp:BoundField HeaderText="Country" DataField="Country"
                      SortExpression="Country"></asp:BoundField>
                 <asp:BoundField HeaderText="Phone" DataField="Phone"
                      SortExpression="Phone"></asp:BoundField>
                 <asp:BoundField HeaderText="Fax" DataField="Fax"
                      SortExpression="Fax"></asp:BoundField>
            </columns>
            <selectedRowStyle ForeColor="White" BackColor="#738A9C"
                 Font-Bold="True"></selectedRowStyle>
            <rowStyle ForeColor="#8C4510" BackColor="#FFF7E7"></rowStyle>
        </asp:GridView>
        <p><b>Customer Details:</b></p>
        <asp:DetailsView ID="DetailsView1"
             runat="server"
             DataSourceId="SqlDataSource2"
             BorderColor="#DEBA84"
             BorderStyle="None"
             BorderWidth="1px"
             BackColor="#DEBA84"
             CellSpacing="2"
             CellPadding="3"
             AutoGenerateRows="False"
             AutoGenerateInsertButton="true"
             DataKeyNames="CustomerID">
             <footerStyle ForeColor="#8C4510" BackColor="#F7DFB5"></footerStyle>
             <rowStyle ForeColor="#8C4510" BackColor="#FFF7E7"></rowStyle>
             <pagerStyle ForeColor="#8C4510" HorizontalAlign="Center"></pagerStyle>
             <fields>
                <asp:BoundField ReadOnly="True" HeaderText="CustomerID"
                      DataField="CustomerID" SortExpression="CustomerID">
                </asp:BoundField>
                <asp:BoundField HeaderText="CompanyName" DataField="CompanyName"
                     SortExpression="CompanyName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" DataField="Region"
                     SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </fields>
            <headerStyle ForeColor="White" BackColor="#A55129"
                Font-Bold="True"></headerStyle>
            <editRowStyle ForeColor="White" BackColor="#738A9C"
                Font-Bold="True"></editRowStyle>
        </asp:DetailsView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>" />
        <asp:SqlDataSource ID="SqlDataSource2" runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             InsertCommand="INSERT INTO [Customers] ([CustomerID], [CompanyName],
                 [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode],
                 [Country], [Phone], [Fax]) VALUES (@CustomerID, @CompanyName,
                 @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode,
                 @Country, @Phone, @Fax)" DeleteCommand="DELETE FROM [Customers] WHERE
                 [CustomerID] = @original_CustomerID"
             FilterExpression="CustomerID='{0}'"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>">
             <filterParameters>
                 <asp:ControlParameter Name="CustomerID" ControlId="GridView1"
                      PropertyName="SelectedValue"></asp:ControlParameter>
             </filterParameters>
             <insertParameters>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
             </insertParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Updatecommand To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1"
             DataKeyNames="CustomerID" AutoGenerateColumns="False"
             AllowSorting="True" AllowPaging="True" PageSize="10">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                  FirstPageText="Go to the first page"
                  LastPageText="Go to the last page" Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True" HeaderText="CustomerID"
                     DataField="CustomerID"
                     SortExpression="CustomerID"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                    DataNavigateUrlFields="CustomerID,Country" SortExpression="CompanyName"
                    DataNavigateUrlFormatString=
                        "http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                    DataTextField="CompanyName">
                </asp:HyperLinkField>
                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </columns>
        </asp:GridView>        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
            SelectCommand="SELECT * FROM [Customers]"
            ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
            DataSourceMode="DataSet"
            UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                [Address] = @Address, [City] = @City, [Region] = @Region,
                [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
        </asp:SqlDataSource>
 
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Delete Functionality To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1"
            DataKeyNames="CustomerID" AutoGenerateColumns="False"
            AllowSorting="True" AllowPaging="True"
            AutoGenerateEditButton="true" AutoGenerateDeleteButton="true">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                  FirstPageText="Go to the first page"
                  LastPageText="Go to the last page" Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True"
                                HeaderText="CustomerID"
                                DataField="CustomerID"
                                SortExpression="CustomerID"
                                Visible="False"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                                    DataNavigateUrlFields="CustomerID,Country"
                                    SortExpression="CompanyName"
                                    DataNavigateUrlFormatString = "http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                                    DataTextField="CompanyName">
                </asp:HyperLinkField>
                <asp:BoundField HeaderText="ContactName"
                                DataField="ContactName"
                                SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle"
                                DataField="ContactTitle"
                                SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address"
                                DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
             DataSourceMode="DataSet"
             UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                  [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                  [Address] = @Address, [City] = @City, [Region] = @Region,
                  [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                  [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
                  <deleteParameters>
           <asp:Parameter Name="CustomerID" Type="String">
           </asp:Parameter>
        </deleteParameters>
             <updateParameters>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
             </updateParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Indicators To Display Sorting Direction – ADO.Net Database

<%@ Page Language="C#" %>
<script runat="server">
    void deptView_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            string imageUrl = (deptView.SortDirection==SortDirection.Ascending ?"Asc.gif" :"Desc.gif");
            for(int i=0; i<deptView.Columns.Count; i++)
            {
                string columnExpression = deptView.Columns[i].SortExpression;
                if (columnExpression != "" && columnExpression == deptView.SortExpression)
                {
                    Image img = new Image();
                    img.ImageUrl =imageUrl;
                    e.Row.Cells[i].Controls.Add(img);
                }
            }
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>Adding Indicators to display Sorting Direction</title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <asp:GridView ID="deptView"
                    AllowSorting="true"
                    runat="server"
                    AutoGenerateColumns="false"
                    DataSourceID="deptSource"
                    OnRowCreated="deptView_RowCreated">
        <columns>
          <asp:BoundField HeaderText="Department ID"
                          DataField="DepartmentID"
                          SortExpression="DepartmentID" />
          <asp:BoundField HeaderText="Name" DataField="Name" SortExpression="Name" />
          <asp:BoundField HeaderText="Group Name" DataField="GroupName" />
        </columns>
      </asp:GridView>
      <asp:SqlDataSource ID="deptSource"
                         Runat="server"
                         SelectCommandType="Text"
                         SelectCommand="Select DepartmentID, Name, GroupName, ModifiedDate from HumanResources.Department"
                         ConnectionString="<%$ConnectionStrings:AdventureWorks%>">
      </asp:SqlDataSource>
    </div>
  </form>
</body>
</html>

CSharp Adding Autogenerateeditbutton Attribute To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1"
             DataKeyNames="CustomerID" AutoGenerateColumns="False"
             AllowSorting="True" AllowPaging="True"
             AutoGenerateEditButton="true">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                  FirstPageText="Go to the first page"
                  LastPageText="Go to the last page" Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True" HeaderText="CustomerID"
                     DataField="CustomerID"
                     SortExpression="CustomerID"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                    DataNavigateUrlFields="CustomerID,Country" SortExpression="CompanyName"
                    DataNavigateUrlFormatString=
                        "http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                    DataTextField="CompanyName">
                </asp:HyperLinkField>
                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
             DataSourceMode="DataSet"
             UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                  [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                  [Address] = @Address, [City] = @City, [Region] = @Region,
                  [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                  [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
             <updateParameters>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
             </updateParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Conflictdetection Property To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource ID="SqlDataSource1"
                           Runat="server"
                           SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)"
                           ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
                           DataSourceMode="DataSet"
                           ConflictDetection="CompareAllValues">
            <selectParameters>
                <asp:QueryStringParameter Name="CustomerID"
                    QueryStringField="id" Type="String">
                </asp:QueryStringParameter>
            </selectParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>
File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Datasourcemode Property To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource ID="SqlDataSource1"
                           Runat="server"
                           SelectCommand="SELECT * FROM [Customers]"
                           ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
                           DataSourceMode="DataSet">
        </asp:SqlDataSource>
 
    </div>
    </form>
</body>
</html>
File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Adding Updateparameters To Sqldatasource Control – ADO.Net Database

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1"
                      Runat="server"
                      DataSourceID="SqlDataSource1"
                      DataKeyNames="CustomerID"
                      AutoGenerateColumns="False"
                      AllowSorting="True"
                      AllowPaging="True"
                      PageSize="10">
             <pagerStyle HorizontalAlign="Center"></pagerStyle>
             <pagerSettings Position="TopAndBottom"
                            FirstPageText="Go to the first page"
                            LastPageText="Go to the last page"
                            Mode="NextPreviousFirstLast">
             </pagerSettings>
            <columns>
                <asp:BoundField ReadOnly="True"
                                HeaderText="CustomerID"
                                DataField="CustomerID"
                                SortExpression="CustomerID"></asp:BoundField>
                <asp:HyperLinkField HeaderText="CompanyName"
                    DataNavigateUrlFields="CustomerID,Country"
                    SortExpression="CompanyName"
                    DataNavigateUrlFormatString="http://www.yourServer.com/Customer.aspx?id={0}&country={1}"
                    DataTextField="CompanyName">
                </asp:HyperLinkField>
                <asp:BoundField HeaderText="ContactName" DataField="ContactName"
                     SortExpression="ContactName"></asp:BoundField>
                <asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle"
                     SortExpression="ContactTitle"></asp:BoundField>
                <asp:BoundField HeaderText="Address" DataField="Address"
                     SortExpression="Address"></asp:BoundField>
                <asp:BoundField HeaderText="City" DataField="City"
                     SortExpression="City"></asp:BoundField>
                <asp:BoundField HeaderText="Region" NullDisplayText="N/A"
                     DataField="Region" SortExpression="Region"></asp:BoundField>
                <asp:BoundField HeaderText="PostalCode" DataField="PostalCode"
                     SortExpression="PostalCode"></asp:BoundField>
                <asp:BoundField HeaderText="Country" DataField="Country"
                     SortExpression="Country"></asp:BoundField>
                <asp:BoundField HeaderText="Phone" DataField="Phone"
                     SortExpression="Phone"></asp:BoundField>
                <asp:BoundField HeaderText="Fax" DataField="Fax"
                     SortExpression="Fax"></asp:BoundField>
            </columns>
        </asp:GridView>        <asp:SqlDataSource ID="SqlDataSource1" Runat="server"
             SelectCommand="SELECT * FROM [Customers]"
             ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>"
             DataSourceMode="DataSet"
             UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName,
                  [ContactName] = @ContactName, [ContactTitle] = @ContactTitle,
                  [Address] = @Address, [City] = @City, [Region] = @Region,
                  [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone,
                  [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID">
             <updateParameters>
                 <asp:Parameter Type="String" Name="CompanyName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactName"></asp:Parameter>
                 <asp:Parameter Type="String" Name="ContactTitle"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Address"></asp:Parameter>
                 <asp:Parameter Type="String" Name="City"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Region"></asp:Parameter>
                 <asp:Parameter Type="String" Name="PostalCode"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Country"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Phone"></asp:Parameter>
                 <asp:Parameter Type="String" Name="Fax"></asp:Parameter>
                 <asp:Parameter Type="String" Name="CustomerID"></asp:Parameter>
             </updateParameters>
        </asp:SqlDataSource>
 
    </div>
    </form>
</body>
</html>File: Web.config<configuration>
  <appSettings/>
  <connectionStrings>
        <add name="AppConnectionString1"
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
    <compilation debug="true" strict="false" explicit="true">
      <codeSubDirectories>
        <add directoryName="VB"></add>
        <add directoryName="CS"></add>
      </codeSubDirectories>
    </compilation>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
    </pages>
    <authentication mode="Windows"></authentication>
    <identity impersonate="true"/>
  </system.web>
</configuration>

CSharp Asp:Datagrid Page Index – ADO.Net Database

<%@ Page Language=VB Debug=true %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OLEDB" %>
<script runat=server>
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
        Dim DSPageData As New DataSet
        Dim DBConn as OleDbConnection
        Dim DBCommand As OleDbDataAdapter
        DBConn = New OleDbConnection( _
            "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "DATA SOURCE=" _
            & Server.MapPath("EmployeeDatabase.mdb;"))
        DBCommand = New OleDbDataAdapter _
            ("Select * " _
            & "From Employee " _
            & "Order By LastName, FirstName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dgEmps.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dgEmps.DataBind()
    End If
End Sub
Sub Page_Change(sender As Object, e As DataGridPageChangedEventArgs)
    dgEmps.CurrentPageIndex = e.NewPageIndex
    Dim DSPageData As New DataSet
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBCommand = New OleDbDataAdapter _
        ("Select * " _
        & "From Employee " _
        & "Order By LastName, FirstName", DBConn)
    DBCommand.Fill(DSPageData, _
        "Employee")
    dgEmps.DataSource = _
        DSPageData.Tables("Employee").DefaultView
    dgEmps.DataBind()
End Sub
</script>
<html>
<head>
<title>Displaying Pages of Data through a DataGrid Control</title>
</head>
<body LEFTMARGIN="40">
<form runat="server">
<br /><br />
<asp:datagrid
    id="dgEmps"
    pagerstyle-backcolor="White"
    pagerstyle-forecolor="DarkGreen"
    pagerstyle-font-bold="True"
    allowpaging="True"
    pagesize=3
    onpageindexchanged="Page_Change"
    autogeneratecolumns="true"
    runat="server"
>
</asp:datagrid>
</form>
</body>
</html>

CSharp Asp:Datagrid: Sort Expression (Vb.Net) – ADO.Net Database

<%@ Page Language=VB Debug=true %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OLEDB" %>
<script runat=server>
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
        Dim DBConn as OleDbConnection
        Dim DBCommand As OleDbDataAdapter
        Dim DSPageData as New DataSet
        DBConn = New OleDbConnection( _
            "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "DATA SOURCE=" _
            & Server.MapPath("EmployeeDatabase.mdb;"))
        DBCommand = New OleDbDataAdapter _
            ("Select * " _
            & "From Employee " _
            & "Order By LastName, FirstName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dgEmps.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dgEmps.DataBind()
    End If
End Sub
Sub Sort_Grid(ByVal Sender as Object, _
    ByVal E as DataGridSortCommandEventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    Dim DSPageData as New DataSet
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBCommand = New OleDbDataAdapter _
        ("Select * " _
        & "From Employee Order By " _
        & E.SortExpression.ToString() , DBConn)
    DBCommand.Fill(DSPageData, _
        "Employee")
    dgEmps.DataSource = _
        DSPageData.Tables("Employee").DefaultView
    dgEmps.DataBind()
End Sub
</script>
<html>
<head>
<title>Sorting a DataGrid Control</title>
</head>
<body LEFTMARGIN="40">
<form runat="server">
<br /><br /><asp:datagrid
    id="dgEmps"
    allowsorting="True"
    onsortcommand="Sort_Grid"
    autogeneratecolumns="false"
    runat="server"
>
    <columns>
        <asp:boundcolumn
            headertext="Last Name"
            datafield="LastName"
            sortexpression="LastName"
        />
        <asp:boundcolumn
            headertext="First Name"
            datafield="FirstName"
            sortexpression="FirstName"
        />
        <asp:boundcolumn
            headertext="ID"
            datafield="ID"
            DataFormatString="{0:c}"
            sortexpression="ID"
        />
    </columns>
</asp:datagrid>
</form>
</body>
</html>

CSharp Asp:Datagrid With Data Edit – ADO.Net Database

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %><script language="VB" runat="server">
  Sub Page_Load(Sender As Object, E As EventArgs)    Dim strConnection As String
    Dim strSQL        As String
    Dim objDataSet    As New DataSet()
    Dim objConnection As OleDbConnection
    Dim objAdapter    As OleDbDataAdapter    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " & _
                    "Data Source=C:\Northwind.mdb"
    strSQL = "SELECT FirstName, LastName FROM Employees;"    objConnection = New OledbConnection(strConnection)
    objAdapter = New OledbDataAdapter(strSQL, objConnection)    objAdapter.Fill(objDataSet, "Employees")    dgNameList1.DataSource = objDataSet.Tables("Employees").DefaultView
    dgNameList1.DataBind()  End Sub</script><html>
 <body>
  <table width="100%">
   <tr>
    <td>Original Data</td>
    <td>Data with new Row</td>
    <td>Data with edited Row</td>
    <td>Data with deleted Row</td>
   </tr>
   <tr>
    <td valign="top"><asp:DataGrid id="dgNameList1" runat="server" /></td>
    <td valign="top"><asp:DataGrid id="dgNameList2" runat="server" /></td>
    <td valign="top"><asp:DataGrid id="dgNameList3" runat="server" /></td>
    <td valign="top"><asp:DataGrid id="dgNameList4" runat="server" /></td>
   </tr>
  </table>
 </body>
</html>