2011-12-08 45 views
0

使用ADO.NET在網站上工作。將客戶插入數據庫中,我的朋友的筆記本電腦上的代碼和模型運行良好,但在我的筆記本中,保存到數據庫時,我得到了datetime2datetime超出範圍更新異常。我們發現的唯一區別是用於服務器我的版本10.0.1600和我的朋友10.50.2500。在SQL Server 2008 Developer Edition上更新失敗+存儲生成的模式=計算

我可以通過插入代碼datefield = DateTime.Now;來解決它,但我想知道到底發生了什麼。

我們責怪它錯誤。另外,當存儲一個生成的模式(例如,一個字段默認爲true,或者使用getDate()默認時間戳時,我們在模型中寫入store生成的模式= COMPUTED。在我的朋友中,這工作但在我的上面,這沒有。

我可以證實,該版本有問題嗎?所以,我可以在代碼中快樂地寫,我們應該插入的默認值嗎?或者我有一些其他的問題嗎?

謝謝大家

+0

這將有助於如果你可以發佈一些代碼。 – RickNZ

+0

SQL Server v10.0。* = SQL Server ** 2008 **,v10.50。* = SQL Server ** 2008 R2 ** ....另外:您是使用實體框架還是直接使用ADO.NET? –

+0

@Aristos:我也不插入日期,該日期應自動當一個記錄被添加:) – test

回答

0

試這種方式..

如果你使用共同的文化,在你的應用程序的養蠶然後定義

culture="en-GB" 
uiCulture="en-GB" 

全球化背景下在web.config

或者

使用convert(日期,GETDATE()),以獲得您需要插入記錄系統的當前日期。

+0

全球化沒有什麼區別:/ – test

+0

讓我知道你的代碼用於在數據庫中插入記錄。 – AnandMohanAwasthi

+0

OK就解決了這個問題。似乎在我的代碼中,當我去每個字段的屬性將其生成的模式更改爲COMPUTED時,模型的XML文件未被更改。我們使用工具來比較每個其他模型。該怎麼做:右鍵單擊解決方案資源管理器中的.edmx文件。 OPEN WITH = XML TEXT EDITOR ...在sql server中包含默認值或綁定的字段附近添加以下代碼:StoreGeneratedPattern =「Computed」。這個代碼不應該在那裏。 – test

相關問題