我有一個SQL表,我試圖讀入我的應用程序,其中包含一個日期時間列。當我在我的應用程序中使用SqlDataAdapter填充DataTable時,它會將年份截斷爲2位數年(因此1/1/1999或1/1/2099均顯示1/1/99)。SqlDataAdapter截斷日期時間爲2位年
Dim dt As DataTable
Using connection As New SqlConnection("...")
Dim query As String = "SELECT * FROM [foo]"
Dim adapter As New SqlDataAdapter(query, connection)
connection.Open()
adapter.Fill(dt)
End Using
直接在SQL執行同樣的SELECT語句返回一個4位數字的年份日期時間,所以它似乎是一個VB問題,而不是一個SQL問題。
我怎樣才能確保它讀取全年並避免類似Y2K的錯誤?
日期沒有格式。您正在使用的應用程序查看決定如何在視頻/打印機上以字符串格式顯示日期的日期。你使用哪個應用程序來查看數據字段? – Steve
在我的應用程序中,我使用自定義日期格式dd/MM/yyyy填充DateTimePicker,並且如果日期設置爲1/1/2099,則DateTimePicker會將日期顯示爲1/1/1999。我追溯到最初的數據拉取,因爲當它在填充後在調試器中查看DataTable時,它將日期顯示爲1/1/99,並且我的Windows區域設置被設置爲猜測1930年至2029. – Kevin
數據庫中的DataType是什麼? –