在文本框中只显示一行[gridview]

本文关键字:一行 gridview 文本 显示 | 更新日期: 2023-09-27 18:04:35

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    SqlConnection con = new SqlConnection(" Data Source=SYS022''SQLEXPRESS;Initial Catalog=Bhagavan;Integrated Security=True");
    con.Open();
    SqlCommand cmd = new SqlCommand("select * from emp3", con);
    SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {

            txt_eid.Text = dr["eid"].ToString();
            txt_ename.Text = dr["ename"].ToString();
            txt_sal.Text = dr["esal"].ToString();

    }

我的应用程序包含3个文本框和一个gridview,如果我单击gridview(3 columnns)中的编辑链接,则尊重行显示在3个文本框中。我的代码正在工作,如果我点击编辑按钮,它显示gridview的最后记录在文本框..有人能说什么是问题(这里我从DB连接到gridview)请说这个代码中的bug。我知道另一种编辑方式…请帮帮我。div标记代码

您不需要传递一个Id到您的sql语句,以便您编辑您正在尝试编辑的特定行吗?换句话说,就是:

SqlCommand cmd = new SqlCommand("select * from emp3", con);

似乎需要更改为:

SqlCommand cmd = new SqlCommand("select * from emp3 where id="+GridView1.Rows[e.NewEditIndex].Cells[0].Text, con);

where Cells[0]保存"eid"的值;

实际上,它总是在gridview中显示最后一条记录的原因是因为它经过了emp3表中所有记录的while循环,因为你正在做select *而不是做select * from emp3 where eid=[some_specific_id];

在文本框中只显示一行[gridview]