【问题标题】:Getting this error: Unable to cast object of type 'System.DateTime' to type 'Oracle.ManagedDataAccess.Client.OracleParameter'出现此错误:无法将“System.DateTime”类型的对象转换为“Oracle.ManagedDataAccess.Client.OracleParameter”类型
【发布时间】:2021-08-05 22:14:28
【问题描述】:

我正在尝试将选择查询传递到 oracle 数据库并使用以下代码作为参数传递

string startdate = "07/01/2021";
DateTime sd = DateTime.ParseExact(startdate, "d", provider);
OracleParameter param = new OracleParameter();
param.ParameterName = "startdate";
param.OracleDbType = OracleDbType.Date;
param.Value = sd;
cmd.Parameters.Add(param);

上面的代码运行良好,给了我所需的正确输出,但我想让它更短,所以用下面的代码行替换它

cmd.Parameters.Add(new OracleParameter("startdate", OracleDbType.Date).Value = sd);                    

我收到此错误无法将“System.DateTime”类型的对象转换为“Oracle.ManagedDataAccess.Client.OracleParameter”类型。 我不能使用第二种格式的原因是什么?

【问题讨论】:

    标签: c# oracle


    【解决方案1】:

    您使用了错误的语法。试试这个

    cmd.Parameters.Add("startdate", OracleDbType.Date).Value = sd;    
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2021-03-26
      • 2017-07-30
      • 1970-01-01
      • 2015-02-10
      • 2017-05-05
      • 2011-06-22
      • 1970-01-01
      相关资源
      最近更新 更多