我必须更新数据库中的数据。我选择数据网格视图行时,数据显示在文本框中。我哪里错了?
private void btnUpdate_Click(object sender, EventArgs e)
{
ent = new EmployeeEntities();
EmployeeInfo emp = new EmployeeInfo();
emp.EmpID = Convert.ToInt32(txtID.Text);
emp.EmpName = txtName.Text;
emp.EmpAddress = txtAddress.Text;
emp.EmpDesignation = txtDesignation.Text;
//ent.EmployeeInfoes.Add(emp);
ent.SaveChanges();
MessageBox.Show("Updated");
}
答案 0 :(得分:2)
您希望保存的实体必须附加到数据上下文,以便在调用SaveChanges时保存。如果调用ent.SaveChanges()
调用上下文SaveChanges()
,则只需使用ent.EmployeeInfoes.Add(emp);
。如果没有,您需要先从数据库中检索EmployeeEntities
,然后添加EmployInfo
。
答案 1 :(得分:1)
替换
EmployeeInfo emp = new EmployeeInfo();
通过
int empId=Convert.ToInt32(txtID.Text);
EmployeeInfo emp =ent.EmployeeInfoes.Single(e=>e.EmpId==empId);
答案 2 :(得分:0)
如果您尝试将emp添加为新员工,请尝试
ent.EmployeeInfoes.AddObject(emp);
ent.SaveChanges();
否则你必须从员工名单中获取emp然后保存