2011-07-15 66 views
3

我正在尝试将数据输入到Oracle数据库中。这将是一个存储过程,有几个参数......我的意思是像27点的参数(不要问,我没有设计它)...匿名Oracle参数?

现在我必须以某种方式填充这个参数存储过程... 大多数的存储过程需要的参数是VARCHAR处理......但一对夫妇是char或日期或数字值...现在,所有的值将是我打电话的功能(我的字符串值将读取一个XML文档并从那里填充值)。我可以直接通过OracleParameterCollection.Add(Object)输入参数,而无需转换对象并将它们转换为正确的Oracle数据类型?这只是黑暗中的一个镜头。否则,我会写一个大规模的案例切换语句(现在杀死自己!)。我想我知道,虽然好......

由于这是由于星期一,我最好开始写的情况下switch语句,因为我怀疑我的要求是不可能的。

谢谢。

回答

4

是,对于许多对数据类型,Oracle会自动转换数据为您服务。这当然包括从字符串到日期和数字的转换。对于日期,您必须确保该字符串具有当前NLS日期设置的格式。

Appendix A of the ODP.NET documentation列出了在表A-2支持的转换。

+0

所以,我基本上可以说是拿到字符串,只是这样做... cmd.Parameters.Add(“OracleParm”); cmd.Parameters.Add(“1000”); – SoftwareSavant

+0

是的,这应该工作。 – Codo

+0

Word!... 男孩我讨厌Case Switch Statements ... – SoftwareSavant