在文本框中只显示一行[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];