Click here to Skip to main content
15,881,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
I have some Issue when we Update the data................
My Code Is..
Aspx Page >
XML
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" Width="100%" CssClass="gridview" DataKeyNames="Id" OnRowEditing="GridView2_RowEditing"
                    OnRowCancelingEdit="GridView2_OnRowCancelingEdit" OnRowUpdating="GridView2_OnRowUpdating" OnRowDeleting="GridView2_OnRowDeleting">
                    <Columns>
                      <%-- <asp:BoundField HeaderText="InvoiceNumber" DataField="InvoiceNumber" Visible="false" />--%>
                         <asp:BoundField HeaderText="Id" DataField="Id" Visible="true" />
                        <asp:BoundField HeaderText="Description" DataField="Description" />
                        <asp:BoundField HeaderText="TicketPrice" DataField="TicketPrice" />
                        <asp:BoundField HeaderText="Passengers" DataField="Passengers" />
                        <asp:BoundField HeaderText="IssuingFee" DataField="IssuingFee" />
                        <asp:BoundField HeaderText="TotalAmount" DataField="TotalAmount" />

                         <asp:CommandField HeaderText="Edit-Update" ShowEditButton="True" />
                         <asp:CommandField HeaderText="Delete" ShowDeleteButton="true" />
                    </Columns>
                </asp:GridView>




.CS Page >
C#
protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)
   {
       GridView2.EditIndex = e.NewEditIndex;
       GridView2.DataBind();
       gvbind();
   }
   protected void GridView2_OnRowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
   {
       GridView2.EditIndex = -1;
       gvbind();
   }
   protected void GridView2_OnRowUpdating(object sender, GridViewUpdateEventArgs e)
   {

       string s = ConfigurationManager.ConnectionStrings["conn"].ToString();
       p = new SqlConnection(s);
       SqlCommand cmd = new SqlCommand("Update_Item", p);
       cmd.CommandType = CommandType.StoredProcedure;
       cmd.Parameters.Add("@Id", SqlDbType.Int, 4).Value = Convert.ToInt32(GridView2.DataKeys[e.RowIndex].Value);

       cmd.Parameters.Add("@Description", SqlDbType.VarChar, 200).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
       cmd.Parameters.Add("@TicketPrice", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
       cmd.Parameters.Add("@Passenger", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
       cmd.Parameters.Add("@IsssuingFee", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[4].Controls[0]).Text;
       cmd.Parameters.Add("@TotalAmount", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[5].Controls[0]).Text;
       cmd.Connection.Open();
       cmd.ExecuteNonQuery();

       cmd.Connection.Close();
       GridView2.EditIndex = -1;

       gvbind();

   }
   protected void GridView2_OnRowDeleting(object sender, GridViewDeleteEventArgs e)
   {
       string s = ConfigurationManager.ConnectionStrings["conn"].ToString();
       p = new SqlConnection(s);
       SqlCommand cmd = new SqlCommand("Delete_Item", p);
       cmd.CommandType = CommandType.StoredProcedure;
       cmd.Parameters.Add("@Id", SqlDbType.Int, 4).Value = Convert.ToInt32(GridView2.DataKeys[e.RowIndex].Value);
       cmd.Connection.Open();
       cmd.ExecuteNonQuery();
       cmd.Connection.Close();
       gvbind();
   }




Store Procedure..>
C#
ALTER proc [dbo].[Update_Item]
(
@Id int,
@Description varchar(200),
@TicketPrice varchar(50),
@Passenger varchar(50),
@IsssuingFee varchar(50),
@TotalAmount varchar(50)

)as

update ItemMaster set Description=@Description, TicketPrice=@TicketPrice,Passengers=@Passenger,
                        IssuingFee=@IsssuingFee, TotalAmount=@TotalAmount
                       where Id=@Id
Posted
Updated 5-May-14 23:24pm
v3
Comments
Murugesan22 6-May-14 5:07am    
can you post your extract issue
Parmendra choudhary 6-May-14 5:09am    
yes when we click update button then always save previous data, Don't update the data,
when we debugg the code we find that we can't get new data
Telstra 6-May-14 5:15am    
Also by examining primary basis
protected void GridView2_OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{

string s = ConfigurationManager.ConnectionStrings["conn"].ToString();
p = new SqlConnection(s);
SqlCommand cmd = new SqlCommand("Update_Item", p);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Id", SqlDbType.Int, 4).Value = Convert.ToInt32(GridView2.DataKeys[e.RowIndex].Value);

cmd.Parameters.Add("@Description", SqlDbType.VarChar, 200).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
cmd.Parameters.Add("@TicketPrice", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
cmd.Parameters.Add("@Passenger", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
cmd.Parameters.Add("@IsssuingFee", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[4].Controls[0]).Text;
cmd.Parameters.Add("@TotalAmount", SqlDbType.VarChar, 50).Value = ((TextBox)GridView2.Rows[e.RowIndex].Cells[5].Controls[0]).Text;
cmd.Connection.Open();
cmd.ExecuteNonQuery();

cmd.Connection.Close();
GridView2.EditIndex = -1;
GridView2.DataBind(); // why you are using this line. you can directly use gvbind() method.
gvbind();

}
what is written in gvbind() method? please share the code of that method.
Parmendra choudhary 6-May-14 5:17am    
gvbind(); Its a GridView Bind Method
Parmendra choudhary 6-May-14 5:19am    
public void gvbind()
{
DataSet dt = new DataSet();
string s = ConfigurationManager.ConnectionStrings["conn"].ToString();
p = new SqlConnection(s);
SqlCommand cmd = new SqlCommand("get_item", p);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection.Open();
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dt);
cmd.Connection.Close();
if (dt.Tables[0].Rows.Count > 0)
{
GridView2.DataSource = dt;
GridView2.DataBind();
}
else
{
// lb.Text = "Record not found";
}
}

1 solution

Hi

May be if i am not wrong

Check Page Load event for bind data.

Put it

C#
if (!IsPostBack)
        {
            gvbind();
        }
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900