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个texbox和gridview如果我单击gridview(3 COLOUMNS)中的编辑链接,3 textBOXES.my代码中显示的尊重行显示就好像我点击编辑按钮它显示最后一个在文本框中记录gridview ..有人说什么是问题(这里我从DB连接到gridview)请说出此代码中的错误。我知道另一种编辑方式..请帮帮我。 标记代码
答案 0 :(得分:0)
您是否需要将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);
其中Cells [0]保存“eid”的值;
实际上,它始终显示gridview中最后一条记录的原因是因为它正在执行emp3表中所有记录的while循环,因为你正在执行select *而不是从emp3执行select *,其中eid = [some_specific_id];