我正在开发一个WPF应用程序。我的代码中生成了两个问题。
1 - 当我输入值时,它将0分配给ID
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";
}
}
}