我有一個數據庫表,我需要更新記錄。添加新記錄的代碼工作正常,但是當我去更新現有記錄時,並非所有字段都使用表單中的新信息進行更新。試圖更新記錄,但更新代碼只更新其中一個時間戳字段,沒有別的
下面的代碼:
private void updateExistingDSN()
{
//Update existing DSN
try
{
using (PathFinderDataContext pfdcContext = new PathFinderDataContext())
{
DSN oldDSN = pfdcContext.DSNs.Single(dsn => dsn.DSNID == int.Parse(Request["dsn"]));
oldDSN.Auth_AuthorizationID = int.Parse(Request["auth"]);
oldDSN.ServiceProvided_ServiceProvidedID = int.Parse(Request["sp"]);
oldDSN.EvidenceBPMU = short.Parse(ddlEvidenceBPMU.SelectedValue);
oldDSN.LocationOfVisit = txtLocationOfVisit.Text;
oldDSN.ChildrenPresent = txtNamesOfChildrenPresent.Text;
oldDSN.ParentPresent = txtNamesOfParentsPresent.Text;
oldDSN.OthersPresent = txtNamesOfOthersPresent.Text;
oldDSN.DescribeGoals = txtDescribeGoals.Text;
oldDSN.DescribeStrategy = txtDescribeStrategies.Text;
oldDSN.DescibeParentingSkills = txtDescribeParentingSkills.Text;
oldDSN.DescribeSafetyConcerns = txtDescribeSafetyConcerns.Text;
oldDSN.OtherInfo = txtOtherInfo.Text;
oldDSN.Schedule_Monday = float.Parse(txtMonday.Text);
oldDSN.Schedule_Tuesday = float.Parse(txtTuesday.Text);
oldDSN.Schedule_Wednesday = float.Parse(txtWednesday.Text);
oldDSN.Schedule_Thursday = float.Parse(txtThursday.Text);
oldDSN.Schedule_Friday = float.Parse(txtFriday.Text);
oldDSN.Schedule_Saturday = float.Parse(txtSaturday.Text);
oldDSN.Schedule_Sunday = float.Parse(txtSunday.Text);
oldDSN.DateSaved = DateTime.Now;
oldDSN.SavedBy_UserID = currentEmployee.EmployeeID;
pfdcContext.SubmitChanges();
}
Response.Redirect("~/pages/updateTimesheet.aspx?action=update&ProvidedServiceId=" + int.Parse(Request["sp"]));
}
catch (Exception ex)
{
errorMessage.Text = "<b>Error updating an existing DSN record!</b><br /><br />" + ex.ToString();
warnings.Visible = true;
}
}
,更新是oldDSN.DateSaved,一切只是保持不變的唯一領域。沒有錯誤或異常拋出或任何東西。行爲像它的工作,但沒有。另外,當我硬編碼值被更新時,記錄更新就好了。有任何想法嗎?
調試你的代碼並檢查是否有你想要更新的值。 –
如果您正在使用visual studio,請嘗試在方法頂部設置斷點,然後右鍵單擊 - >觀看oldDSN。檢查所有值是否正確更新。我無法用這樣的方式說這個:因爲唯一被更新的值是不是由你的代碼生成的(DateTime.Now),所以我覺得很可能是你的代碼產生了不正確的值。 – IllusiveBrian
我正在逐步完成代碼。這將只是一分鐘,我會更新並讓你知道發生了什麼。 –