GridView更新不了

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:51:54
protected void GridView1_RowUpdating(Object sender, GridViewUpdateEventArgs e)
{
int id;
string biaoti, shijian, zuozhe;
id = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
id = int.Parse(GridView1.Rows[e.RowIndex].Cells[0].Text.Trim());
biaoti = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.Trim();
shijian = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.Trim();
zuozhe = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.Trim();
string strcmd = "update contents set biaoti=" + biaoti + ",shijian" + shijian + ",zuozhe=" + zuozhe +"where id="+id;
OleDbConnection con = new OleDbConnection(strConnnection);
con.Open();
OleDbCommand cmd = new OleDbCommand(strcmd, con);
cmd.Parameters.Add(new OleDbParameter("@biaoti", biaoti));<

问题是这个RowUpdating事件你没有触发

你的按钮事件里面只有一个OnClientClick,没有写后台代码吧
为 DataSet 中每个已插入、已更新或已删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句时会触发Update事件

当使用 Update 时,每一个更新的数据行都会发生一系列事件。执行顺序如下:

将 DataRow 中的值移至参数值。
引发 OnRowUpdating 事件。
执行命令。
如果该命令设置为 FirstReturnedRecord,则第一个返回结果放在 DataRow 中。
如果存在输出参数,它们将被放在 DataRow 中。
引发 OnRowUpdated 事件。
调用 AcceptChanges。

========================================
可以在[删除]按钮的后台代码中加上删除记录的代码

数据源重新绑定一下试试。

还有一种可能的原因是,语句确实是成功执行了,但是获取的确实之前的值,也就是没有修改值的更新

这种情况见过不少,你可以单步调试的时候查看每一个parameter的值,看是否是你后输入的值,然后再修改