使用ODP.NET查询数据参数顺序问题及莫名ORA-01722错误提示

最近由于项目需要,必须使用C#配合Oracle来进行开发,在开发的过程中,发现有些查询无法正确获取数据。例如:

Select * From tabParam Where ParamCode = :ParamCode And ParamName = :ParamName

看起来很简单的SQL查询语句,但是有的时候却查询不出来,有的查询语句还出现ORA-01722的错误提示。

经过调试发现和传入参数顺序有关,查询语句和参数传入顺序不匹配,造成有些字段赋值错了。所以出现不正确的结果,或者字段类型不符的问题。

在Oracle网站查询后找到一个解决办法,就是在准备查询的OracleCommand的时候,增加一个设定BindByName = true,这样就可以按照名称进行匹配了。

特别记录一下,耽误了好几个小时,郁闷死了。

原文地址:https://www.cnblogs.com/songhaipeng/p/4076731.html