我正在使用此example从一个插页中获取自动数字。
工作正常,因为我可以看到"new_id"
具有正确的值。但是在尝试转换为十进制或整数时出现错误。
System.InvalidCastException:'无法转换类型'Oracle.ManagedDataAccess.Types.OracleDecimal'以输入'System.IConvertible'。'
using (OracleCommand cmd = con.CreateCommand())
{
cmd.CommandText = "INSERT INTO projects (name) values(:project_name) returning project_id into :new_id";
cmd.Parameters.Add("project_name", OracleDbType.NVarchar2, ParameterDirection.Input);
cmd.Parameters.Add("new_id", OracleDbType.Decimal, ParameterDirection.ReturnValue);
cmd.ExecuteNonQuery();
decimal result = Convert.ToDecimal(cmd.Parameters["new_id"].Value);
^^^ error here
return Convert.ToInt16(result);
}
DEBUG值: