protected void BindToGVProject()
{
con.Open();
string sqlstr = "select * from Project";
SqlDataAdapter sda = new SqlDataAdapter(sqlstr, con);
DataSet ds = new DataSet();
sda.Fill(ds);
gvProjectList.DataKeyNames = new string[] { "PK_Project" };
gvProjectList.DataSource = ds;
gvProjectList.DataBind();
con.Close();
}
protected void gvProjectList_RowEditing(object sender, GridViewEditEventArgs e)
{
gvProjectList.EditIndex = e.NewEditIndex;
BindToGVProject();
}
protected void gvProjectList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
con.Open();
string ProjectName =((TextBox)(gvProjectList.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
string sqlstr1 = "update Project set ProjectName='" + ProjectName + "' where PK_Project='" + gvProjectList.DataKeys[e.RowIndex].Value + "'";
SqlCommand cmd1 = new SqlCommand(sqlstr1, con);
cmd1.ExecuteNonQuery();
con.Close();
gvProjectList.EditIndex = -1;
BindToGVProject();
}
protected void gvProjectList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvProjectList.EditIndex = -1;
BindToGVProject();
}实现编辑更新的代码,以前做过好几次了,这次不知道为什么不能实现更新,也不报错,自己看了半天也找不到错误...
{
con.Open();
string sqlstr = "select * from Project";
SqlDataAdapter sda = new SqlDataAdapter(sqlstr, con);
DataSet ds = new DataSet();
sda.Fill(ds);
gvProjectList.DataKeyNames = new string[] { "PK_Project" };
gvProjectList.DataSource = ds;
gvProjectList.DataBind();
con.Close();
}
protected void gvProjectList_RowEditing(object sender, GridViewEditEventArgs e)
{
gvProjectList.EditIndex = e.NewEditIndex;
BindToGVProject();
}
protected void gvProjectList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
con.Open();
string ProjectName =((TextBox)(gvProjectList.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
string sqlstr1 = "update Project set ProjectName='" + ProjectName + "' where PK_Project='" + gvProjectList.DataKeys[e.RowIndex].Value + "'";
SqlCommand cmd1 = new SqlCommand(sqlstr1, con);
cmd1.ExecuteNonQuery();
con.Close();
gvProjectList.EditIndex = -1;
BindToGVProject();
}
protected void gvProjectList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvProjectList.EditIndex = -1;
BindToGVProject();
}实现编辑更新的代码,以前做过好几次了,这次不知道为什么不能实现更新,也不报错,自己看了半天也找不到错误...
断点定在这句话上,看看sqlstr1
问题解决了,是没有加ISPOSTBACK.
但是为什么一定要加ISPOSTBACK呢,如果我没加的话,在更新后页面只不过是多绑定了一次,为什么会影响到更新呢?
2----程序rebuild web site 重新执行 尝试更新数据 然后用isqlw 查询下是否 更新成功
如果你程序中这部分有 try catch 可以先注释掉 跑起来 如果遇到异常 就察看下 有什么问题再反馈
{
con.Open();
string ProjectName =((TextBox)(gvProjectList.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
string sqlstr1 = "update Project set ProjectName='" + ProjectName + "' where PK_Project='" + gvProjectList.DataKeys[e.RowIndex].Value + "'";
SqlCommand cmd1 = new SqlCommand(sqlstr1, con);
cmd1.ExecuteNonQuery();
con.Close();
gvProjectList.EditIndex = -1;
BindToGVProject();
} 查看你的BindToGVProject();如果是dataset做数据源绑定, 那你的dataset是否再你更新表以后更新了? 如果没有更新dataset 那就像amandag 所说 在页面中会覆盖掉你已经更新的数据, 但数据库中可能已经改好了。