0
我已經創建了一個DataRow數組:從訪問數據庫構建數據表的OBrienData。我想將其內容映射到另一個DataRow數組NewClientData,它最終將映射到一個mssql數據庫。 PLease並沒有指出還有其他方法可以將Access從Map映射到Mssql,因爲我正在將其作爲一個練習。 Everthing一切正常,直到我開始映射日期時間對象。我有一個SQL溢出錯誤。當我看,我看到從訪問日期時間對象的格式是不同的,我所需要的mssql數據庫。更改DataRow元素中的Datetime對象的格式
string dateString,format="u";
NewCaseData[i]["Date_Opened"] = DateTime.ParseExact(OBrienData[z]["Date opened"].ToString(), format,System.Globalization.CultureInfo.InvariantCulture);
NewCaseData[i]["Date_Closed"] = String.Format("{0:u}", OBrienData[z]["Date closed"]);
所以我試了上面的代碼。 ParseExact給出了一個錯誤:'string not valid'和string.format 完全沒有改變?!
什麼是OBrienData [z] [「打開日期」]的類型?如果它已經是'DateTime'(我希望它會),你不應該通過字符串轉換。基本上,儘量保持一切在日期時間,而不是執行任何轉換。請注意,DateTime值不具有格式 - 它只是日期/時間,以及如何通過「ToString」方法將其轉換爲字符串是另一回事。 –
如果'OBrienData [z]'是'DataRow',那麼'OBrienData [z] [「Date opened」]是'object'。這個'object'背後的實例可能已經是'DateTime'了。嘗試'System.Convert.ToDateTime'而不是'DateTime.ParseExact'。 – Igor
OBrienData [z] [「打開日期」]已經是一個日期時間,我必須將其轉換爲字符串才能在DateTime.ParseExact中使用它。說實話,我不應該使用它,我雖然string.format或更簡單的應該工作? – Arantuath