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

时间:2008-11-11 20:38:01

标签: c# .net oracle odp.net

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

我正在使用OracleParameter构造函数,它将名称和值作为对象(我假设数据类型是从对象的数据类型中隐含的),但是因为有时我的参数的值是null,它被设置为String,因此抛出此错误。

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

如果我发现这种情况,如何重新分析光标(如错误所示)? 有没有其他人遇到这个并有解决方案?

1 个答案:

答案 0 :(得分:1)

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

            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();
            }