2011-08-16 30 views
1

我想在數據庫中讀取數據時更新數據,請參見下文。但是在整個事情完成之後,數據沒有更新(我的表有主鍵)。爲什麼我無法使用LINQ to SQL將數據更新到數據庫中?

static LinqMPISMPPCalenderDataContext DBCalender; 
    DBCalender = new LinqMPISMPPCalenderDataContext(connectionString); 
    var ExceptionPeriod= DBCalender.Table_ExceptionPeriods 
    .Where(table=>Table.StartDate<= Date && table.FinishDate >= Date && table.CalenderID==CalenderID).Single(); 

    Table_ExceptionPeriod TblException =null; 
    TblException = ExceptionPeriod; 
    TblException.StartDate = ExceptionPeriod.StartDate.AddDays(1); 
    DBCalender.SubmitChanges(); 

回答

0

一旦你通過你的電話.Single()了從DB你的對象,你應該能夠只設置其屬性並調用SubmitChanges()。不需要TblException的東西。所以...

static LinqMPISMPPCalenderDataContext DBCalender; 
DBCalender = new LinqMPISMPPCalenderDataContext(connectionString); 
var ExceptionPeriod = DBCalender.Table_ExceptionPeriods 
    .Where(table=>Table.StartDate<= Date && table.FinishDate >= Date && table.CalenderID==CalenderID).Single(); 

ExceptionPeriod.StartDate = ExceptionPeriod.StartDate.AddDays(1); 
DBCalender.SubmitChanges(); 
+0

我以前試過,但沒有工作 – Maryam

0

似乎沒有任何邏輯上的代碼錯誤,因爲安東尼說你可以減少行數。

我可能會逐行通過代碼,在提交之前檢查StartDate是否已經真正改變。

只有我可以想象的可能會出錯的事情是某種事務回滾到數據庫中,或者您沒有看到自己認爲的記錄。

+0

我檢查了StartDate,它實際上已經改變,但沒有再工作我的更新,插入和刪除代碼的所有工作都很好,但這部分不工作。幫幫我 – Maryam

相關問題