通过文本框更新Gridview数据
本文关键字:Gridview 数据 更新 文本 | 更新日期: 2023-09-27 18:11:02
当我试图用文本框值更新Datagridview时,它在文本框中显示空值我的密码是这样的。这有什么不对的。Bnddata()将数据集分配给gridview
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bnddata();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
string emailid = GridView1.Rows[0].Cells[0].Text;
TextBox txtadress = (TextBox)row.FindControl("txtadress");
con.Open();
string upd = "update empeasty set adress='" + txtadress.Text+ "' where emailid='"+emailid+"'";
SqlCommand cmd = new SqlCommand(upd,con);
int i=cmd.ExecuteNonQuery();
if (i > 0)
Response.Write("Data updated");
else
Response.Write("Data not updated");
con.Close();
GridView1.EditIndex = -1;
bnddata();
}
让我们根据你的问题和评论来分析一下。
你正在尝试更新数据库中的数据(地址),但在数据绑定后回发时返回空白
我在你的代码中没有看到任何异常处理,你也没有指出任何错误,所以这告诉我代码正在执行,没有任何运行时异常。由于回发似乎已经完成(基于我们所知道的),这告诉我Update SQL命令有问题。
string upd = "update empeasty set adress='" + txtadress.Text+ "' where emailid='"+emailid+"'";
除非在应用程序级别进行异常处理,否则可以合理地假设该命令已被执行。这意味着txtAddress。文本为空,或者数据库中的表中没有匹配的电子邮件id。
查看SQL字符串实际样子的最快方法是单击左侧垂直的灰色条,在设置SQL的行旁边设置一个断点(应该显示一个红点)。
然后按F5(在调试模式下启动应用程序),在文本框中输入地址值,然后按提交(或任何你必须进行更新的按钮)。当程序到达设置断点的位置时,就可以逐步执行代码,并检查txtAddress的值。发短信、发邮件和更新,看看他们是谁。
如果txtAddress。文本或电子邮件是空白的,这是你的答案。如果emailid不是空的,那么你可能有一个不正确的值,你需要找出原因。
这可能看起来不像,但你有你所需要的一切来确定你所看到的问题的根本原因。