Problem in Edit and update sql Please
-
i am getting the error :(( ------ Compiler Error Message: CS0117: 'System.EventArgs' does not contain a definition for 'Item' ------ my code is ------------------------- <%@ Page Language="C#" Debug="True" %> <%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> // Insert page code here SqlConnection SqlCon; void Page_Load(Object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection ("server = junaid; uid = sa; pwd = allah786; database = login"); if(!IsPostBack) BindGrid(); } public void dg_Edit(Object sender, DataGridCommandEventArgs e) { dg1.Columns[0].HeaderText="Edit"; dg1.EditItemIndex = (int)e.Item.ItemIndex; BindGrid(); } public void dg_Cancel(Object sender, DataGridCommandEventArgs e) { dg1.Columns[0].HeaderText="Cancel"; dg1.EditItemIndex = -1; BindGrid(); } public void dg_Update(Object sender, EventArgs e) { dg1.Columns[0].HeaderText="Update"; string updatecmd = "Update users set username=@uid, upassword=@password, fname=@fname, lname=@lname, address=@address"; SqlCommand SqlCom = new SqlCommand(updatecmd, SqlCon); SqlCom.Parameters.Add(new SqlParameter("@uid",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@password",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@fname",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@lname",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@address",SqlDbType.VarChar, 50)); SqlCom.Parameters["@uid"].Value=((TextBox)e.Item.Cells[1].Controls[0]).Text; SqlCom.Parameters["@password"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text; SqlCom.Parameters["@fname"].Value=((TextBox)e.Item.Cells[3].Controls[0]).Text; SqlCom.Parameters["@lname"].Value=((TextBox)e.Item.Cells[4].Controls[0]).Text; SqlCom.Parameters["@address"].Value=((TextBox)e.Item.Cells[5].Controls[0]).Text; SqlCom.Connection.Open(); try { SqlCom.ExecuteNonQuery(); Response.Write("Record Updated"); dg1.EditItemIndex = -1; } catch (SqlException exc) { Response.Write("There is an error..."); } } public void BindGrid() {</x-turndown>
-
i am getting the error :(( ------ Compiler Error Message: CS0117: 'System.EventArgs' does not contain a definition for 'Item' ------ my code is ------------------------- <%@ Page Language="C#" Debug="True" %> <%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> // Insert page code here SqlConnection SqlCon; void Page_Load(Object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection ("server = junaid; uid = sa; pwd = allah786; database = login"); if(!IsPostBack) BindGrid(); } public void dg_Edit(Object sender, DataGridCommandEventArgs e) { dg1.Columns[0].HeaderText="Edit"; dg1.EditItemIndex = (int)e.Item.ItemIndex; BindGrid(); } public void dg_Cancel(Object sender, DataGridCommandEventArgs e) { dg1.Columns[0].HeaderText="Cancel"; dg1.EditItemIndex = -1; BindGrid(); } public void dg_Update(Object sender, EventArgs e) { dg1.Columns[0].HeaderText="Update"; string updatecmd = "Update users set username=@uid, upassword=@password, fname=@fname, lname=@lname, address=@address"; SqlCommand SqlCom = new SqlCommand(updatecmd, SqlCon); SqlCom.Parameters.Add(new SqlParameter("@uid",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@password",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@fname",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@lname",SqlDbType.VarChar, 50)); SqlCom.Parameters.Add(new SqlParameter("@address",SqlDbType.VarChar, 50)); SqlCom.Parameters["@uid"].Value=((TextBox)e.Item.Cells[1].Controls[0]).Text; SqlCom.Parameters["@password"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text; SqlCom.Parameters["@fname"].Value=((TextBox)e.Item.Cells[3].Controls[0]).Text; SqlCom.Parameters["@lname"].Value=((TextBox)e.Item.Cells[4].Controls[0]).Text; SqlCom.Parameters["@address"].Value=((TextBox)e.Item.Cells[5].Controls[0]).Text; SqlCom.Connection.Open(); try { SqlCom.ExecuteNonQuery(); Response.Write("Record Updated"); dg1.EditItemIndex = -1; } catch (SqlException exc) { Response.Write("There is an error..."); } } public void BindGrid() {</x-turndown>
In your dg_Update function you are using e.Item but the EventArgs e contain no property called Item. The method signature itself wrong. It must be DataGridItemEventArgs which contains a property called Item.