Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-ODP.NET和ora-01475必须重新分析游标以更改绑定变量数据类型_C#_.net_Oracle_Odp.net - Fatal编程技术网

C#-ODP.NET和ora-01475必须重新分析游标以更改绑定变量数据类型

C#-ODP.NET和ora-01475必须重新分析游标以更改绑定变量数据类型,c#,.net,oracle,odp.net,C#,.net,Oracle,Odp.net,在插入了一些具有真实日期值的记录之后,每当我尝试在列(类型为DateTime)中插入空值时,我就会得到ora-01475 我使用的是将名称和值作为对象的OracleParameter构造函数(我假设数据类型是从对象的数据类型中暗示出来的),但由于有时我的参数值为null,因此它被设置为字符串,因此引发此错误 我不想使用显式获取数据类型的构造函数,因为我大量使用反射来构建OracleCommand对象及其参数 如果发现这种情况,如何重新分析光标(如错误所示)? 有没有其他人遇到过这种情况并找到了解

在插入了一些具有真实日期值的记录之后,每当我尝试在列(类型为
DateTime
)中插入空值时,我就会得到
ora-01475

我使用的是将名称和值作为对象的
OracleParameter
构造函数(我假设数据类型是从对象的数据类型中暗示出来的),但由于有时我的参数值为null,因此它被设置为
字符串
,因此引发此错误

我不想使用显式获取数据类型的构造函数,因为我大量使用反射来构建
OracleCommand
对象及其参数

如果发现这种情况,如何重新分析光标(如错误所示)?

有没有其他人遇到过这种情况并找到了解决方案

您是否尝试过使用可空类型

            DateTime? myDate;
            //Code to set myDate value...
            string sql = "[your SQL]"
            using (OracleCommand command = new SqlCommand(sql, cn))
            {
                OracleParameter param = new OracleParameter(":Name",myDate);
                command.Paerameters.add(param);
                command.ExecuteNonQuery();
            }

是的,这正是我遇到问题的原因,因为在第一个查询中,我传递了一个null,然后在后面传递了一个真实的日期……我通过显式指定参数DBType to date解决了这个问题,即使它是null。谢谢