今天是不是自己的极品时间,怎么会遇到这样的问题。实在是。。。。
记录一下
来源: http://www.soidc.net/discuss/5/061216/19/128389_1.html
sql语句:select max(e) from A_TEST
字段e值为空,使用pl/sql,toad等工具执行此语句正常但,当使用cmd.ExecuteScalar执行此sql语句的时候会出现以下错误:
OCI-22060: 参数 [2] 是一个无效或未初始化的数值
错误是在执行sql语句的时候发生的
要怎么样才能捕获到这个错误,避免出现不友好信息。
感谢几位:)今天测试了下,基本可以肯定是OracleClient命名空间下ExecuteScalar的BUG
现在还使用表A_TEST,对其中字段E使用聚合函数,select max(E) from A_TEST
在.NET Framework1.1下:
使用OracleClient命名空间下ExecuteScalar
数据库表中无值,没有问题
在数据库中有值,无论多少,但是E有空值的情况下就会出现OCI-22060错误
使用Oledb命名空间下的ExecuteScalar函数没有问题
在.NET Framework2.0下一切正常
这样的话在1.1下OracleClient命名空间下ExecuteScalar基本就是废的了,除非你保证所有可能用到聚合函数的字段都不可能有空值。
可怜,只有填充DataTable了
浙公网安备 33010602011771号