将OracleParameter与C#TimeSpan一起使用 – Literal不匹配
我进行了广泛的搜索,但我找不到任何关于此的例子。
我有一个类型为TimeSpan的.NET变量,我需要将它放入Oracle DB的IntervalDayToSecond
记录中。
参考http://docs.oracle.com/html/B14164_01/featOraCommand.htm此页面,应该可以将TimeSpan对象作为OracleParameter传递,并将其插入到IntervalDayToSecond
类型记录中的Oracle DB中。
这是代码:
OracleParameter t = new OracleParameter("PAR_T", _msg.t);
我以各种方式尝试过,也明确指定了DBType(它不应该是必需的):
OracleParameter t = new OracleParameter("PAR_T", _msg.t); taxi.OracleDbType = OracleDbType.IntervalDS;
我总是从Oracle得到同样的错误:
Devart.Data.Oracle.OracleException:ORA-01861:literal与格式字符串不匹配
我无法理解如何使其发挥作用; 我在这个应用程序中使用了许多参数(类型为String
, Integer
, Date
),它们都在工作。 在Google上,我找不到使用c# TimeSpan
作为参数的某个人的例子。 有没有人试过这个?
好吧,这绝对是我的错。 好老的OracleParameter
很好地完成了他的工作; 问题出在查询的其他地方。
因此,我在此确认可以将TimeSpan变量绑定到Oracle Interval Day To Second
记录。
string s = "00:20"; TimeSpan ts = TimeSpan.parse(s); OracleParameter op = new OracleParameter("PAR_T", ts);
这将创建一个名为PAR_T
的参数,该参数可用于查询以将值插入到Interval Day To Second
记录中。