Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 266
  • Last Modified:

sql update via gridview

I have a gridview which I am updating using code.

I have ran into a mess with the update as data is not beign added to the correct columns.

On SQL 2005 my stored procedure works fine, but when I execute the code to input the details things just don't match.
0
Mr_Shaw
Asked:
Mr_Shaw
  • 3
  • 2
1 Solution
 
Gyanendra SinghArchitectCommented:
check the binding of grid ... also check in code whether you are passing correct data to update ... one more thing .. did you gridview contain datakesyname .... if not set it first
also paste your code here ...
0
 
Mr_ShawAuthor Commented:
my code is:

my code is

protected void edit_record_updating(object sender, GridViewUpdateEventArgs e)
    {
       
        update_class update_records_method = new update_class();
        update_records_method.Record_ID = ((TextBox)user_records.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString();
        update_records_method.Logon_Name = WindowsIdentity.GetCurrent().Name.ToString();
        update_records_method.Record_Class = ((TextBox)user_records.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString();  
        update_records_method.Record_Name = ((TextBox)user_records.Rows[e.RowIndex].Cells[6].Controls[0]).Text.ToString();
}

I did not use andy datakeyname as I am not sure how to use this property.
0
 
Gyanendra SinghArchitectCommented:
in your case its not require (datakeys)
are you getting this record correct
 update_records_method.Record_ID = ((TextBox)user_records.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString();

also what problem you are getting in update ...

0
 
Mr_ShawAuthor Commented:
I have tested my code using break points and I have concluded that the following;

When I click the Edit button on the gridview TextBoxes appear to allow me to edit the content.
When I click the Update button the code does not recognise that the TextBoxes have been updated and no change is made.

I have tested the code with other virables which works successfully (i.e new values are inserted and appear in the gridview). There is something wrong with the way i am picking up the editted values from the gridview.

0
 
Gyanendra SinghArchitectCommented:
try this

set Datakeysname to your grid
<asp:GridView ID="GridView1" runat="server" DataSourceID="yrdatasource"
DataKeyNames="Record_ID"

     protected void GridView1_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
     {
       
         String Record_ID= GridView1.DataKeys(e.RowIndex).Value.ToString();
       
         System.Web.UI.WebControls.TextBox Name = new System.Web.UI.WebControls.TextBox();
         Name = (TextBox)this.GridView1.Rows(e.RowIndex).Cells(cellnumber).Controls(0);
         string vName = Name.Text;

        // Your update query
       
       
         GridView1.EditIndex = -1;
         BindGrid();
     }

0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now