public decimal CreaMail(decimal idRichiedente, string oggetto, string corpo) { if (oggetto.Length > 50) { oggetto = oggetto.Substring(0, 50); } if (corpo.Length > 4000) { corpo = corpo.Substring(0, 4000); } string insert = @"INSERT INTO MD_EMAIL (IDRICHIEDENTE,DATACREAZIONE, STATO, TENTATIVO,OGGETTO,CORPO) VALUES ($P{IDRICHIEDENTE},$P{DATA},$P{STATO},0,$P{OGGETTO},$P{CORPO}) RETURNING IDMAIL INTO $P{IDMAIL}"; ParamSet ps = new ParamSet(); ps.AddParam("IDRICHIEDENTE", DbType.Decimal, idRichiedente); ps.AddParam("DATA", DbType.DateTime, DateTime.Now); ps.AddParam("STATO", DbType.String, "CRT"); ps.AddParam("OGGETTO", DbType.String, oggetto); ps.AddParam("CORPO", DbType.String, corpo); ps.AddOutputParam("IDMAIL", DbType.Decimal); decimal IDMAIL = -1; using (DbCommand cmd = BuildCommand(insert, ps)) { cmd.ExecuteNonQuery(); IDMAIL = RetrieveParamValue <decimal>(cmd, "IDMAIL"); } return(IDMAIL); }