2

我进行了广泛的搜索,但找不到任何关于此的示例。

我有一个 TimeSpan 类型的 .NET 变量,我需要将它放入IntervalDayToSecondOracle DB 的记录中。

参考http://docs.oracle.com/html/B14164_01/featOraCommand.htm这个页面,应该可以将 TimeSpan 对象作为 OracleParameter 传递,并将其插入到我的 Oracle DBIntervalDayToSecond类型的记录中。

这是代码:

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:文字与格式字符串不匹配

我不明白如何使它工作;我在这个应用程序中使用了几十个参数(类型为String, Integer, Date),它们都在工作。在谷歌上,我找不到一个使用 c#TimeSpan作为参数的人的例子。有没有人试过这个?

4

1 回答 1

0

好吧,这绝对是我的错。老好人OracleParameter做得很好;问题出在查询的其他地方。

因此,我在此确认可以将 TimeSpan 变量绑定到 OracleInterval 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记录。

于 2013-01-14T14:38:59.033 回答