最近,我使用與我不同的Windows區域設置的客戶端最近出現了幾個問題。我似乎無法找到解決方法。錯誤如下:來自數據庫的區域/區域設置和提取日期時間(來自字符串)
'InventoryDataTable'的類型初始值設定項引發異常。 ---> System.TypeInitializationException:「InventoryDataTable」的類型初始值設定項引發異常。 ---> System.FormatException:String未被識別爲有效的DateTime。
用戶加載應用程序及其區域設置與我自己的不匹配時會發生此錯誤。應用程序加載數據集並嘗試在允許用戶登錄之前接收少量數據。刪除時,在用戶登錄到應用程序後立即出現問題。
我似乎無法找到正確的設置,迫使用戶爲使用我的地區,或允許應用程序弄清楚它自己...
確切錯誤:
System.InvalidOperationException: An error occurred creating the form. See Exception.InnerException for details. The error is: The type initializer for 'InventoryDataTable' threw an exception. ---> System.TypeInitializationException: The type initializer for 'InventoryDataTable' threw an exception. ---> System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s)
at Invasion_3042_v2.INVDataSet.InventoryDataTable..cctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 7588
--- End of inner exception stack trace ---
at Invasion_3042_v2.INVDataSet.InventoryDataTable..ctor()
at Invasion_3042_v2.INVDataSet.InitClass() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 4296
at Invasion_3042_v2.INVDataSet..ctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 447
at Invasion_3042_v2.INV3042LOGIN.InitializeComponent() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INV3042LOGIN.Designer.vb:line 39
at Invasion_3042_v2.INV3042LOGIN..ctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INV3042LOGIN.vb:line 100
--- End of inner exception stack trace ---
at Invasion_3042_v2.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190
at Invasion_3042_v2.My.MyProject.MyForms.get_INV3042LOGIN()
at Invasion_3042_v2.My.MyApplication.OnCreateMainForm() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\My Project\Application.Designer.vb:line 35
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
我的數據庫中的日期時間格式爲12/17/2011 2:10:00 AM。在MM/dd/yyyy和dd/MM/yyyy之間轉換沒有問題。例如,當區域設置以不同的格式調用日期時,MM.dd.yyyy。我試圖編輯DataSet.Designer.vb來強制en-US格式化,但是隨時在數據集設計器中執行任何操作時,這些更改都會恢復。 – LordVe 2012-02-17 02:23:10