当我想更新类型' date'在oracle数据库中通过asp.net C#方法,它给出了以下错误:
错误: ORA-00932:数据类型不一致:预期NUMBER获得TIMESTAMP
代码:
string query = String.Format("update mms_meetings m set m.end_date = :end_date where m.id = :id");
OracleCommand cmd = new OracleCommand("", GetDBConnection());
cmd.CommandType = CommandType.Text;
cmd.CommandText = query;
OracleParameter opId = new OracleParameter();
opId.DbType = DbType.Int32;
opId.Value = meetId;
opId.ParameterName = "id";
cmd.Parameters.Add(opId);
OracleParameter opDateEnd = new OracleParameter();
opDateEnd.DbType = DbType.DateTime;
opDateEnd.Value = dateEnd;
opDateEnd.ParameterName = "end_date";
cmd.Parameters.Add(opDateEnd);
cmd.ExecuteNonQuery();
cmd.Dispose();
CloseDBConnection();
答案 0 :(得分:2)
1)您必须发送表格列中指定的日期的确切格式。检查日期列的默认格式。像
'yyyy/MM/dd'
2)如果您使用的是OleDb或ODBC Connection,它们都使用位置参数,因此添加参数的顺序非常重要。尝试更改参数的顺序,看它是否有帮助。