c# - ORA-00932 : inconsistent datatypes: expected DATE got NUMBER

标签 c# .net oracle odac

我正在使用 .net 中的 Oracle Data Access,我的查询如下

command.CommandText = "select * from table1 where expirydate =:EXPIRYDATE";
command.Parameters.Add("EXPIRYDATE", OracleDbType.Date, DateTime.Today,ParameterDirection.Input);

var results = command.ExecuteScalar();

我收到以下错误“ORA-00932:不一致的数据类型:预期的 DATE 得到了 NUMBER”

如果我将查询更改为:

command.CommandText ="select * from table1 where expirydate =
to_date(:EXPIRYDATE,'DD/MM/YYYY')";

我没有得到任何结果。

提前致谢。

最佳答案

此错误的最可能原因是查询中参数的顺序与您将它们添加到 Parameters 集合的顺序不匹配。 Oracle Data Access 假装按名称绑定(bind)它们,但实际上按顺序绑定(bind)它们。

关于c# - ORA-00932 : inconsistent datatypes: expected DATE got NUMBER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921702/

相关文章:

c# - 将文件上传到名称中包含特殊字符的 ftp 文件夹

.net - Mono 是 .NET 的子集吗?

sql - Oracle SQL 从零件创建日期

c# - 为什么 BackgroundWorker 在此单元测试中没有在正确的线程上调用 RunWorkerCompleted?

c# - RestSharp 打印原始请求和响应 header

javascript - 当与 OnServerClick ASP.net 一起使用时,Bootstrap 模式在按钮单击时关闭

java - 将 ORACLE 数据类型映射到 JAVA 数据类型

c# - 使用 Entity Framework 对接口(interface)进行编码

java - .NET 等效的 Java 工具和库

java - 开始使用 Oracle 数据库