更新DateTime到Oracle DB不会从C#获得有效的月错误



我使用Oracle.ManagedDataAccess Nuget对Oracle DB进行更新。我可以更新非日期数据,但是当我尝试插入数据时,它会引发 Not a valid month异常。

string cmdQuery = string.Format("UPDATE HKSTF087.FUELCHARGES SET EFFECTIVETHRUDATE = '{0}'  WHERE TITLECODE = '{1}'", currentEffectiveDate.AddSeconds(-1), mtcFuel.TITLECODE);

字符串看起来像

"UPDATE HKSTF087.FUELCHARGES SET EFFECTIVETHRUDATE = '8/13/2017 11:59:59 PM'  WHERE TITLECODE = 'SCRUBS'"

我尝试使用其他DateTime格式,尽管无法解决。

您可以使用Oracle TO_DATE函数并以相同的方式格式化日期。

string cmdQuery = string.Format("UPDATE HKSTF087.FUELCHARGES SET EFFECTIVETHRUDATE = TO_DATE('{0:MM/dd/yyyy HH:mm:ss}', 'mm/dd/yyyy hh24:mi:ss')  WHERE TITLECODE = '{1}'", currentEffectiveDate.AddSeconds(-1), mtcFuel.TITLECODE);

,但我建议您为此使用参数。

相关内容

最新更新