每当我尝试在已插入一些具有实际日期值的记录之后在列(类型为ora-01475
)中插入空值时,我将获得DateTime
。
我正在使用OracleParameter
构造函数,它将名称和值作为对象(我假设数据类型是从对象的数据类型中隐含的),但是因为有时我的参数的值是null,它被设置为String
,因此抛出此错误。
我不想使用显式获取数据类型的构造函数,因为我大量使用反射来构建OracleCommand
对象及其参数。
如果我发现这种情况,如何重新分析光标(如错误所示)? 有没有其他人遇到这个并有解决方案?
答案 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();
}