通过文本框更新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();
}

通过文本框更新Gridview数据

让我们根据你的问题和评论来分析一下。

你正在尝试更新数据库中的数据(地址),但在数据绑定后回发时返回空白

我在你的代码中没有看到任何异常处理,你也没有指出任何错误,所以这告诉我代码正在执行,没有任何运行时异常。由于回发似乎已经完成(基于我们所知道的),这告诉我Update SQL命令有问题。

string upd = "update empeasty set adress='" + txtadress.Text+ "' where emailid='"+emailid+"'";

除非在应用程序级别进行异常处理,否则可以合理地假设该命令已被执行。这意味着txtAddress。文本为空,或者数据库中的表中没有匹配的电子邮件id。

查看SQL字符串实际样子的最快方法是单击左侧垂直的灰色条,在设置SQL的行旁边设置一个断点(应该显示一个红点)。

然后按F5(在调试模式下启动应用程序),在文本框中输入地址值,然后按提交(或任何你必须进行更新的按钮)。当程序到达设置断点的位置时,就可以逐步执行代码,并检查txtAddress的值。发短信、发邮件和更新,看看他们是谁。

如果txtAddress

。文本或电子邮件是空白的,这是你的答案。如果emailid不是空的,那么你可能有一个不正确的值,你需要找出原因。

这可能看起来不像,但你有你所需要的一切来确定你所看到的问题的根本原因。