Click here to Skip to main content
15,860,859 members
Articles / Web Development / ASP.NET

Insert, Update, Delete with Gridview ... Simple Way

Rate me:
Please Sign up or sign in to vote.
4.55/5 (50 votes)
4 Mar 2008CPOL 486.3K   20.7K   71   39
This is a simple way to Insert, Update, Delete and Display through a single page.

InsertingWithGridView/3.gif

Introduction

This is a simple way to display, Update, Delete and Insert through a single page.

Using the Code

Many of us may be encountered with Update and Delete operations with GridView. I’m explaining this with more functionality that is Inserting record through the GridView. There could me more way to achieve this functionality but I think it’s a very simple way to achieve this. I’m taking a very simple table named "quest_categories"

InsertingWithGridView/Table.gif

SQL
CREATE TABLE [dbo].[quest_categories](
    [cat_id] [int] IDENTITY(1,1) NOT NULL,
    [cat_name] [varchar](150) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 CONSTRAINT [PK_quest_categories] PRIMARY KEY CLUSTERED 
(
    [cat_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Here is the GridView that is going to perform the operation for Insert, Update and Delete the Data. Here I’ve added a Button "Add Category" for inserting a new record.

InsertingWithGridView/1.gif

Here is the Code for "Add Category"

C#
protected void btnAdd_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["exam_moduleConnectionString"].ConnectionString);
    SqlDataAdapter da = new SqlDataAdapter("SELECT cat_id, cat_name FROM quest_categories", con);
    DataTable dt = new DataTable();
    da.Fill(dt);

    // Here we'll add a blank row to the returned DataTable
    DataRow dr = dt.NewRow();
    dt.Rows.InsertAt(dr, 0);
    //Creating the first row of GridView to be Editable
    GridView1.EditIndex = 0;
    GridView1.DataSource = dt;
    GridView1.DataBind();
    //Changing the Text for Inserting a New Record
    ((LinkButton)GridView1.Rows[0].Cells[0].Controls[0]).Text = "Insert";

}

After Clicking on "Add Category" the GridView will diplay like this. InsertingWithGridView/3.gif

And according to Text Diplays we’ll do further processing as "Update" or "Insert" record.

Here is the code for "RowUpdating" event.

C#
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {

        if (((LinkButton)GridView1.Rows[0].Cells[0].Controls[0]).Text == "Insert")
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["exam_moduleConnectionString"].ConnectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "INSERT INTO quest_categories(cat_name) VALUES(@cat_name)";
            cmd.Parameters.Add("@cat_name", SqlDbType.VarChar).Value = ((TextBox)GridView1.Rows[0].Cells[2].Controls[0]).Text;

            cmd.Connection = con;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
        }
        else
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["exam_moduleConnectionString"].ConnectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "UPDATE quest_categories SET cat_name=@cat_name WHERE cat_id=@cat_id";
            cmd.Parameters.Add("@cat_name", SqlDbType.VarChar).Value = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
            cmd.Parameters.Add("@cat_id", SqlDbType.Int).Value = Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[1].Text);
            cmd.Connection = con;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            
        }


        GridView1.EditIndex = -1;
        BindData();
    }

Rest operations are same as you might have done before so I’m not explaining it further.

InsertingWithGridView/2.gif

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer TATA Communications
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
PraiseIts simple and working fine ...thanks a lot .... Pin
Member 135025703-Nov-17 21:10
Member 135025703-Nov-17 21:10 
Questionthanks, your code works Pin
Member 1325558912-Jun-17 14:38
Member 1325558912-Jun-17 14:38 
GeneralColumn Type error Pin
rf_libra28-Jun-13 22:17
rf_libra28-Jun-13 22:17 
Questionfgfdgdg Pin
Member 85264792-Jun-13 8:50
Member 85264792-Jun-13 8:50 
Suggestionnice article Pin
Ashutosh19625-Apr-13 19:19
Ashutosh19625-Apr-13 19:19 
QuestionMy vote of 5 Pin
Alireza_136217-Apr-13 20:40
Alireza_136217-Apr-13 20:40 
GeneralMy vote of 3 Pin
raj ch19-Mar-13 21:44
raj ch19-Mar-13 21:44 
Questionthank Pin
pusue15-Sep-12 0:22
pusue15-Sep-12 0:22 
Questioncomment Pin
Member 885114316-May-12 19:36
Member 885114316-May-12 19:36 
Questioncshtml Pin
Member 89490539-May-12 1:02
Member 89490539-May-12 1:02 
QuestionNeed enhancement of form ? Pin
Member 388846130-Apr-12 0:43
Member 388846130-Apr-12 0:43 
QuestionInsert, Update, Delete with Gridview Pin
swarup2629-Apr-12 21:28
swarup2629-Apr-12 21:28 
Generalthanks...! Pin
vinay_sinha7-Apr-12 1:23
vinay_sinha7-Apr-12 1:23 
QuestionThank you! Pin
Muhammad Imran Aziz31-Jan-12 11:49
Muhammad Imran Aziz31-Jan-12 11:49 
GeneralMy vote of 5 Pin
hyderalima15-Sep-11 1:28
hyderalima15-Sep-11 1:28 
GeneralMy vote of 5 Pin
Monjurul Habib2-Mar-11 9:20
professionalMonjurul Habib2-Mar-11 9:20 
GeneralMy vote of 5 Pin
dwyman17-Feb-11 11:48
dwyman17-Feb-11 11:48 
GeneralFor Select,Insert,Update and Delete in GridView without writting C# or Vb Code Pin
vijay_vignesh26-Jan-11 1:24
vijay_vignesh26-Jan-11 1:24 
GeneralMy vote of 1 Pin
sang15th525-Nov-10 5:59
sang15th525-Nov-10 5:59 
GeneralRow updation in a grid view [modified] Pin
rekha bothiraj15-Oct-10 4:22
rekha bothiraj15-Oct-10 4:22 
GeneralMy vote of 4 Pin
vnkb5-Aug-10 20:27
vnkb5-Aug-10 20:27 
Generalthrown error Pin
kanimozhi.A1-Jun-10 20:04
kanimozhi.A1-Jun-10 20:04 
GeneralThank's a lot Pin
rudyswardani3-Apr-10 0:42
rudyswardani3-Apr-10 0:42 
GeneralI can't execute your example Pin
troy7118-Mar-10 15:32
troy7118-Mar-10 15:32 
GeneralThaks A Lot Pin
Abinash Bishoyi12-Jan-10 20:13
Abinash Bishoyi12-Jan-10 20:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.