![](/img/trans.png)
[英]Repitition of a query in sql server from C#.NET Winform application
[英]Use SQL Server time datatype in C#.NET application?
如何在 C#.NET 中使用 SQL Server 2008 中引入的 SQL time
數據類型?
我一直試圖讓它工作但沒有成功。
這是一篇MSDN 文章,它回顧了 SQL Server 2008 中引入的所有與 ADO.NET 相關的新日期和時間數據類型。 正如文檔所說:對於System.Data.DbType.Time
您將使用 .NET Framework 類型System.TimeSpan
此外,即使是來自 Microsoft 的人也傾向於建議將 sql 數據類型時間映射到 System.Timestamp 我不建議這樣做,
因為 sql 時間的范圍是 00:00:00.0000000 - 23:59:59.9999999
而 System.TimeSpan 的范圍是 10675199.02:48:05.4775808 - 10675199.02:48:05.4775807
這只是略有不同,可能會導致令人討厭的運行時超出范圍錯誤。
您可以使用 datareader 使用類似於以下語句的內容來讀取它。
TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(“Time7FieldName”));
你是如何訪問數據的? 使用實體框架、存儲過程等。
如果您必須傳遞日期的字符串表示形式,請確保以“yyyy-mm-dd hh:mm:ss”格式執行此操作,否則您將面臨 dd/mm/yyyy 與 mm/dd/ 的風險yyyy 混亂。 如果您使用的是實體框架或數據集,那么您應該只將參數傳遞給 DataTime 實例,例如 DateTime.Now
如果您的領域及時,您可以簡單地使用(時間跨度)進行投射,
while (reader.Read())
{
TimeSpan DBStartTime = (TimeSpan)reader["StartTime"];
TimeSpan DBEndTime = (TimeSpan)reader["EndTime"];
}
這是一篇Microsoft Docs文章,解釋了代碼中時間數據類型的使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.