GridView中编辑,更新后,还是原来的数据,怎么解决?

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:30:54
protected void gvCategory_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string Class_id = gvCategory.DataKeys[e.RowIndex].Value.ToString();
string Class_name = ((TextBox)(gvCategory.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
Response.Write(Class_name);
string sqlStr = "update Category set Class_name ='" + Class_name + "' where Class_id=" + Class_id;

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=C:\\Documents and Settings\\Administrator\\桌面\\DLYIELD_Company\\App_Data\\Data.mdb";
conn.Open();
OleDbCommand cmd = new OleDbCommand(sqlStr,conn);
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
gvCategory.EditIndex = -1;
this.gvCategory.Dat

数据取出来绑定的时候,一定要放在Ispostback里面,不然,你修改之后单击提交之后,又会从page_load开始,从新绑定你gridview中的数据,你改了也等于没改!

此种情况有如下可能:
1:SQL语句有问题。
该种可能只要查询数据库数据即可判断。
2:GridView中的数据没有进行重新绑定。
该种可能用如下代码:
public void bind()
{
string STconnection =System.Configuration.ConfigurationManager.AppSettings["ConStr"];
STconn = new SqlConnection(STconnection);
STconn.Open();
DataTable mydt = new DataTable();
SqlCommand mycomm = new SqlCommand(sql, STconn);
SqlDataAdapter myda = new SqlDataAdapter(sql, STconn);
myda.Fill(mydt);
GridView1.DataSource = myda;
GridView1.DataKeyNames = new string[] {"UserID"};
GridView1.DataBind();
STconn.Close();
}
重新进行数据绑定。
希望能帮到你。

看代码貌似没什么问题(其实我不太懂这个),你设置断点看看是否运行了这段,我估计这段多半没运行。如果没有的话,那就是gridview的控件设置问题了,该事件触发不要用数据绑定的那些控件,用CommandField(编辑列里面的,前面有个+)下面的控件(我是这样弄的,其他的不会)。

GridView 的编辑更新问题---一次更新N条数据 gridview中手动增加一行,并为编辑状态 C#中关于Gridview的数据更新问题. SqlDataAdapter操作Gridview实现Gridview编辑功能 GridView更新不了 在GridView中插入或删除后的数据绑定!!!! gridview中rowcommand问题 请问用GridView编辑功能,在html中怎样使一行字段变成文本框的样子?谢谢各位了! .net 中如何用一个checkbox选中后 gridview中所有checkbox全选? gridview如何更新日期型字段