Click here to Skip to main content
13,045,001 members (45,165 online)
Rate this:
Please Sign up or sign in to vote.
See more:
When I enter new data and press update button it saves the old data (data that I want it to update).

public void fill()
    SqlCommand cmd = new SqlCommand("select * from school ",con );
    SqlDataReader rd = cmd.ExecuteReader();
    GridView1.DataSource = rd;
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    int id = int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text);
    string  stu =((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
    int age = int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text);
    SqlCommand cmd = new SqlCommand("UPDATE school SET  stu_name=@stu_name,age=@age where id=@id ", con);
    cmd.Parameters.Add(new SqlParameter("@id", id));
    cmd.Parameters.Add(new SqlParameter("@stu_name", stu));
    cmd.Parameters.Add(new SqlParameter ("@age",age));
    GridView1.EditIndex = -1;

he problem that the values that assigned to name,age are the existing values in the database not the new values which I entered in the runtime any one can help me?? thanks in advance
Posted 1-Feb-13 6:05am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 2

I have corrected your code. I could have helped you im more detail if you have pointed out the line number where the error occurs.

You are missing

cmd.CommandType = CommandType.Text;

in your third code block

Refer this link[^]

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

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web01 | 2.8.170713.1 | Last Updated 1 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100