2011-03-14 54 views

回答

4

我認爲你可以使用TimeSpan數據類型來達到你的目的。 這是一個article,它解釋了ado.net中Time數據類型的使用。

1

您如何訪問數據?使用實體框架,存儲過程等
如果您必須傳遞日期的字符串表示形式,請確保以格式「yyyy-mm-dd hh:mm:ss」進行操作,否則您將冒着dd/mm/yyyy與mm/dd/yyyy混淆。 如果您正在使用實體框架或數據集,那麼你應該只是傳遞的參數DATATIME實例如DateTime.Now

+0

我使用城堡活動記錄來訪問數據 – rdk 2011-03-14 16:50:52

39

這裏是一個MSDN article是審查所有的SQL Server 2008相對於ADO引入的新日期和時間數據類型。淨。由於這份文件宣稱:System.Data.DbType.Time你可以使用.NET Framework類型System.TimeSpan

5

甚至還有人從微軟傾向於建議映射SQL數據類型的時間System.Timestamp我不建議這樣做,

自的SQL時間範圍爲00:00:00.0000000 - 23:59:59.9999999

wheras System.TimeSpan的範圍是10675199.02:48:05.4775808 - 10675199.02:48:05.4775807

這僅僅是略微不同的,可以導致令人討厭的運行時間超出範圍錯誤。

+2

你有什麼建議? – Roberto 2015-11-23 23:41:34

+0

取決於你有什麼樣的環境,如果需要,我通常傾向於存儲幾秒甚至幾毫秒。 – 2016-04-06 15:07:56

0

您可以使用datareader使用類似於以下語句的內容讀取它。

TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(「Time7FieldName」)); 
相關問題