我正在开发一个 WPF 应用程序。我的代码中产生了两个问题。
1 - 当我输入值时,它为 ID 分配了 0
2 - 第二次在我停止调试并再次启动它时插入值后,它显示了 Id 的值,但它没有显示输入的值。附图将帮助您理解我的问题!让我在这些附加图像的帮助下解释一下:这里的第一张图像显示,当我输入一个值“assignment12_new”时,它接受了一个值但为其 ID 分配了 0,然后我关闭了此窗口并按 F5 再次开始调试,第二张图片显示了此调试的结果,此处显示了 ID 的值,但未显示其值为“assignment12_new”。因为它没有存储在数据库中。我不知道我的代码有什么问题。
这是我的代码:
private void dgData_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
if (e.EditAction == DataGridEditAction.Commit)
{
//Database context
DataClasses1DataContext objNewContext = new DataClasses1DataContext();
//Creates new object to insert new Record in Database
Assignment objStudentDetail = new Assignment ();
//Check if record is not is table then preoceed to insert
if (!objContext. Assignments.Contains(student))
{
// objStudentDetail.assignment_title = string.IsNullOrEmpty(student.assignment_title) ? student.assignment_title : student.assignment_title.Trim();
objStudentDetail.assignment_title = student.assignment_title == null
? string.Empty
: student.assignment_title.Trim();
//This will insert new record in table
objNewContext. Assignments.InsertOnSubmit(objStudentDetail);
//This will update changes in database
objNewContext.SubmitChanges();
//Show message when record is inserted
txtStatus.Text = "Success: Data Inserted";
}
else
{
//this will update changes in database for edit operation in database
objContext.SubmitChanges();
//Show message when record is updated
txtStatus.Text = "Success: Data Updated";
}
}
}