将 DateTime 更新为 Oracle DB 从 c# 中获取无效月份错误

Update DateTime to Oracle DB get not a valid month error from c#

我正在使用 Oracle.ManagedDataAccessnuget 更新 oracle 数据库。我可以更新非日期数据,但是当我尝试插入数据时,它会抛出 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);

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