我有2個表:tbleducation和tblemployee。 tblemployee表的字段如:employeeID,employeeName等.tbleducation具有如下字段:Id,employeeID等。插入下拉列表數據唯一ID到表
我想創建一個dropwdownlist,從tblemployee表中選擇一個給定employeeName的employeeID,這樣它可以插入到tbleducation中。我寫的代碼如下:
模式
public class UserModels
{
public string EmployeeName { get; set; }
public int EmployeeCode { get; set; }
public IEnumerable<SelectListItem> Employee { set; get; }
}
控制器
[HttpPost]
public ActionResult Education(FormCollection edu)
{
tblEmployee_Education education = new tblEmployee_Education();
education.EmployeeID = Convert.ToInt32(edu["EmployeeName"].ToString());
education.Duration = edu["Duration"].ToString();
education.Certificate = edu["Certificate"].ToString();
education.Country = edu["Country"].ToString();
education.SchoolName = edu["SchoolName"].ToString();
education.Major = edu["Major"].ToString();
education.SubDescript = edu["SubDescript"].ToString();
context.AddTotblEmployee_Education(education);
context.SaveChanges();
return View();
}
查看
<%= Html.DropDownListFor(x => x.EmployeeName, Model.Employee, "select EmployeeName")%>
當我試圖插入我得到了以下錯誤消息:
「INSERT語句衝突與外鍵約束FK_tblEmployee_Education_tblEmployee_Employee」。衝突發生在數據庫「MP_DBS_old」,表「dbo.tblEmployee_Employee」,列'代碼'。 「
我知道發生這個錯誤是因爲dropdownlist的值是一個字符串,數據庫需要一個整數(employeeID),我真的不知道如何解決它。請
你確定這就是爲什麼你的錯誤。這似乎與外鍵約束有衝突。你有沒有在表格中使用你想要再次插入到表格中的特定鍵的行? – JonH 2012-08-01 19:26:53
我敢肯定,錯誤信息和造成這種錯誤的原因正如我告訴過你的,這只是我的想法。無論如何,我不明白在你問我的問題中「特定鍵」是什麼意思。 – Maly 2012-08-02 01:50:04