GridView编辑后无法更新的问题
编辑和取消按钮都好用,就是更新不了数据代码如下:SqlConnectionconn=newSqlConnection("server=jg-pc;database=exa...
编辑和取消按钮都好用,就是更新不了数据
代码如下:
SqlConnection conn = new SqlConnection("server=jg-pc;database=exammanage;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridViewBind();
}
}
private void GridViewBind()
{
string str1 = Session["username"].ToString();
string str2 = "select * from testmanage where id='" + str1 + "'";
SqlDataAdapter da = new SqlDataAdapter(str2,conn);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds);
gv1.DataSource = ds;
gv1.DataBind();
conn.Close();
}
protected void gv1_RowEditing(object sender, GridViewEditEventArgs e)
{
gv1.EditIndex = e.NewEditIndex;
GridViewBind();
}
protected void gv1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
gv1.EditIndex = -1;
GridViewBind();
}
protected void gv1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gv1.EditIndex = -1;
GridViewBind();
} 展开
代码如下:
SqlConnection conn = new SqlConnection("server=jg-pc;database=exammanage;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridViewBind();
}
}
private void GridViewBind()
{
string str1 = Session["username"].ToString();
string str2 = "select * from testmanage where id='" + str1 + "'";
SqlDataAdapter da = new SqlDataAdapter(str2,conn);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds);
gv1.DataSource = ds;
gv1.DataBind();
conn.Close();
}
protected void gv1_RowEditing(object sender, GridViewEditEventArgs e)
{
gv1.EditIndex = e.NewEditIndex;
GridViewBind();
}
protected void gv1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
gv1.EditIndex = -1;
GridViewBind();
}
protected void gv1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gv1.EditIndex = -1;
GridViewBind();
} 展开
2个回答
展开全部
注意你的gv1_RowUpdating方法,有没有发现你的方法体跟gv1_RowCancelingEdit方法体是一样的,也就是说,它做了跟你的取消方法一样的事.
相信你已经理解了原因,那么接下来你要做的事就是在gv1_RowUpdating方法里实现更新,大概代码如下:
string sqlcom = "update customer set
name='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',
sex='"+ ((DropDownList)(gv1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',
address='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+ "'
number='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "'
where idcard='"+ gv1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand sqlcomm = new SqlCommand(sqlcom, sqlconn);
sqlconn.Open();
sqlcomm.ExecuteNonQuery();
sqlconn.Close();
我想,你一定是刚学C#.net,以上代码只是给你提供思路,你知道,我根本不知道你的数据库表跟GridView是什么样子,所以我也根本不知道你要更新一些什么数据.也就是说,你给的信息太少了...
再不明白的话就补充问题吧...
相信你已经理解了原因,那么接下来你要做的事就是在gv1_RowUpdating方法里实现更新,大概代码如下:
string sqlcom = "update customer set
name='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',
sex='"+ ((DropDownList)(gv1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',
address='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+ "'
number='"+ ((TextBox)(gv1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "'
where idcard='"+ gv1.DataKeys[e.RowIndex].Value.ToString() + "'";
SqlCommand sqlcomm = new SqlCommand(sqlcom, sqlconn);
sqlconn.Open();
sqlcomm.ExecuteNonQuery();
sqlconn.Close();
我想,你一定是刚学C#.net,以上代码只是给你提供思路,你知道,我根本不知道你的数据库表跟GridView是什么样子,所以我也根本不知道你要更新一些什么数据.也就是说,你给的信息太少了...
再不明白的话就补充问题吧...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询