Im using this example to get the autonumeric from one insert.
Works ok, because I can see "new_id"
has the right value. But I got an error when trying to convert to decimal or integer.
System.InvalidCastException: 'Cant Convert type 'Oracle.ManagedDataAccess.Types.OracleDecimal' to type '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 value: