Difference Between DataSet and DataTable


Difference Between DataSet and DataTable

               DataSet                   DataTable
DataSet can fetch multiple TableRows at a time.
DataTable fetches only one TableRow at a time.
A DataSet is like structure which has collection of DataTables.
A DataTable is  a single database table which has collection of rows and columns.
DataSet, DataTable objects can be related to each other with DataRelation objects.
DataTable is a single database table, so there is no DataRelation object in it.
DataSet is serialized DataSource .
DataTable, DataSource cannot be serialized.
DataSet, data integrity is enforced by using the Unique Constraint and ForeignKeyConstraint objects.
DataTable, there is no Unique Constraint and ForeignKeyConstraint objects available.

How to Insert New Row Using GridView Footer in Asp.Net.

Insert New Row Using  GridView Footer

Gridview Bind to Data Table. But Add Gridview Footer  Row Directly.

Insert Data Using Gridview Footer Row 


Html Coding

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <form id="form1" runat="server">
        <asp:gridview ID="Gridview1" runat="server" AutoGenerateColumns="False"
            OnSelectedIndexChanged="Gridview1_SelectedIndexChanged" ShowFooter="True">
           <asp:TemplateField HeaderText="Action">
             <asp:LinkButton ID="LinkButton1" runat="server"
             <asp:TemplateField HeaderText="Name">
             <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
             <asp:Label ID="Label1" runat="server" Text='<%# Eval("name"%>'></asp:Label>
             <asp:TemplateField HeaderText="Email ID">
            <asp:TextBox ID="txtEmailID" runat="server"></asp:TextBox>
            <asp:Label ID="Label2" runat="server" Text='<%# Eval("email"%>'></asp:Label>
            <asp:TemplateField HeaderText="City">
           <asp:TextBox ID="txtCity" runat="server"></asp:TextBox>
         <asp:Label ID="Label3" runat="server" Text='<%# Eval("city"%>'></asp:Label>

C# Coding

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class Grid_Insert : System.Web.UI.Page

    SqlConnection con;
    SqlCommand cmd;
    SqlDataAdapter adp;
    SqlDataReader rd;
    DataSet ds;
    string query;

    public void dbcon()
        string connn = (System.Configuration.ConfigurationManager.
        con = new SqlConnection(connn);


    protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)

    protected void bind11()
        query = "select * from grid";
        cmd = new SqlCommand(query, con);
        adp = new SqlDataAdapter(cmd);
        ds = new DataSet();
        rd = cmd.ExecuteReader();
        if (ds.Tables[0].Rows.Count > 0)
            Gridview1.DataSource = ds;
            Gridview1.DataSource = ds;
            int columncount = Gridview1.Rows[0].Cells.Count;
           // GridView1.FooterRow.Cells.Clear();
            Gridview1.Rows[0].Cells.Add(new TableCell());
 = columncount;
            Gridview1.Rows[0].Cells[0].Text = "No Records Found";

    protected void Gridview1_SelectedIndexChanged(object sender, EventArgs e)

        TextBox txtNamee = (TextBox)Gridview1.FooterRow.
        TextBox txtEmaill = (TextBox)Gridview1.FooterRow.
        TextBox txtCity = (TextBox)Gridview1.FooterRow.

  query = "insert into grid (name,email,city)values('"+txtNamee.Text+"',
        cmd = new SqlCommand(query, con);



First - Add the New - WebForm Grid_Insert.aspx

Next - Add the  GridView From Toolbox 

Next - Create the  Table &  Add the Fields(Requireds)

Next - Right Click GridView  -  Select - Edit Column

Add  -  TemplateFields  &  Remove - Auto Generate Fields - OK 

Next - Change the  All the  Templates Fields Header Text  Name

Next - Show the  GridView Colum Names

Right Click- GridView - Select - Edit Templates

Next - Add the Label to  Item Tempaltes  & Add Field Name = name to Edit DataBinding  

Next - Footer Templates Add TextBox  Change the ID

Next - Add the Label to  Item Tempaltes  & Add Field Name = email to Edit DataBinding  

Next - Footer Templates Add TextBox  Change the ID

 Next - Add the Label to  Item Tempaltes  & Add Field Name = city to Edit DataBinding  

Next - Footer Templates Add TextBox  Change the ID

Next - Select Edit Template Editing

Next - Select Edit column - Add Template Fields  Header Action

Next - Select  Action Column Footer Row  - Insert Linkbutton - Text = Insert & CommandName= Select

Select - Edit Template - Show The GridView  Below Like That

Next - GridView - Property - Select - ShowFooter = True

Next - Show the Html Coding


Next - Go To - Coding Part - Add NameSpaces &  Database Connection 

New Class  Create - Select Table  & Double Click the GridView - Open -  Select Index Changed  

Select - GridView Footer Row TextBox Id  

Next - Insert  the Selected Values

Next - Select WebForm - Right Click - View in Browser (Run F5)


 grid Table Empty  - Show No Records Found

Next - Insert  Values - Footer Row TextBox  &  Insert button Click

                     Inserted Values & Bind

Next - Insert Values & Insert Button Click

Bind The Inserted Values