我無法識別日期時間DataColumn的類型。DataColumn - 如何區分日期時間或日期時間2
如果我從SQL 2008中獲取DataTable,日期時間DataColumn可能是日期時間或日期時間2,但在C#中似乎沒有區別。
我需要在加載到SQL之前驗證數據...
任何想法?
我無法識別日期時間DataColumn的類型。DataColumn - 如何區分日期時間或日期時間2
如果我從SQL 2008中獲取DataTable,日期時間DataColumn可能是日期時間或日期時間2,但在C#中似乎沒有區別。
我需要在加載到SQL之前驗證數據...
任何想法?
我決定使用DataColumn屬性來讀取表格模式,因爲它在一些地方是不準確的(Unique always = false,Length always = -1)。
我最終從Sql INFORMATION_SCHEMA視圖中檢索了模式定義。
任何人都知道爲什麼這些屬性在讀取DataTable的模式時毫無用處?他們根本沒有描述數據庫表的真正結構...
精度和範圍不同於DateTime到DateTime2,您大概可以從this blog post派生驗證。
當然,我明白SQL數據類型的差異。我的問題是從datetime Sql列生成的DataColumn的C#屬性與從datetime2 Sql columm生成的DataColumn具有完全相同的屬性。我需要找到一種方法來確保日期對於可能是datetime Sql columm的日期有效。 – Drammy 2011-05-26 23:40:43
您可能可以在讀取類型是否爲'SqlDbType.DateTime2'時做些檢查。是否將數據庫類型更改爲datetime2? – IndigoDelta 2011-05-26 16:11:28
是的,我的解決方案必須假定Sql表可以包含任何列和數據類型。它也可能是一個SQL 2005數據庫 - 只有datetime ... – Drammy 2011-05-26 23:42:19