问题描述
如题,请各位大虾指教.代码如下:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicpartialclassZTZCX_BMMCX:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton2_Click(objectsender,EventArgse){Response.Redirect("ZTZCX.aspx");}DataSetGetDataSet(){SqlConnectionmycon=newSqlConnection();mycon.ConnectionString="DataSource=.;InitialCatalog=SBGL;IntegratedSecurity=True";mycon.Open();SqlCommandsel=newSqlCommand("SELECTDISTINCT*FROMNEWSBTZWHERESBH='"+TextBox1.Text+"'",mycon);SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=sel;DataSetds=newDataSet();da.Fill(ds,"NEWSBTZ");mycon.Close();returnds;}voidLoadData(){DataSethw=GetDataSet();//估计这个有问题,他每次都是保存的查询的方法中的数据然后绑定GridView1.DataSource=hw;GridView1.DataBind();}protectedvoidButton1_Click(objectsender,EventArgse){LoadData();}protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse){GridView1.EditIndex=e.NewEditIndex;//GridView1.EditIndex=e.RowIndex;LoadData();}protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse){SqlConnectionmycon=newSqlConnection();mycon.ConnectionString="DataSource=.;InitialCatalog=SBGL;IntegratedSecurity=True";mycon.Open();SqlCommandmyxg=newSqlCommand();myxg.Connection=mycon;stringsql="UPDATENEWSBTZSETZJLY='"+((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text+"'WHEREZCH='"+GridView1.Rows[e.RowIndex].Cells[3].Text+"'";//SqlDataAdapterxga=newSqlDataAdapter();myxg.CommandText=sql;myxg.ExecuteNonQuery();mycon.Close();GridView1.EditIndex=-1;this.LoadData();}protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse){GridView1.EditIndex=-1;LoadData();}}
解决方案
解决方案二:
断点跟踪下就知道了
解决方案三:
不知道是不是你的“GridView1.Rows[e.RowIndex].Cells[3].Text+"这里没有取到值还是建议把LoadData();放到Page_load中在前台定义CommandName=”主键值“;GridView1_RowUpdating中stringKeyId=GridView1.DataKeys[e.RowIndex].Value.ToString();来取值
解决方案四:
protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse){SqlConnectionmycon=newSqlConnection();mycon.ConnectionString="DataSource=.;InitialCatalog=SBGL;IntegratedSecurity=True";mycon.Open();SqlCommandmyxg=newSqlCommand();myxg.Connection=mycon;stringsql="UPDATENEWSBTZSETZJLY='"+((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text+"'WHEREZCH='"+GridView1.Rows[e.RowIndex].Cells[3].Text+"'";//((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text试试看//SqlDataAdapterxga=newSqlDataAdapter();myxg.CommandText=sql;myxg.ExecuteNonQuery();mycon.Close();GridView1.EditIndex=-1;this.LoadData();}