Konvertieren OracleParameter.Wert Int32

Ich habe eine gespeicherte Prozedur aufrufen, das geht wie folgt:

using (OracleConnection con = new OracleConnection(ConfigurationManager.AppSettings["Database"]))
using (OracleCommand cmd = new OracleCommand("Package.Procedure", con))
{
   Int32 existsCount;

   cmd.CommandType = CommandType.StoredProcedure;
   cmd.Parameters.Add("successCount", OracleDbType.Int32, 0, ParameterDirection.InputOutput);
   cmd.Parameters.Add("BusinessId", OracleDbType.Int64, listRec.BusinessId, ParameterDirection.Input);

    con.Open();
    cmd.ExecuteScalar();
    con.Close();

    existsCount = Convert.ToInt32(cmd.Parameters["successCount"].Value);

    return (existsCount);
}

Aber auf dieser Linie:

existsCount = Convert.ToInt32(cmd.Parameters["successCount"].Value);

Wirft er die Exception "Unable to cast object of type 'Oracle.DataAccess.Typen.OracleDecimal' type 'System.IConvertible'."

Irgendwelche Gedanken? Danke.

InformationsquelleAutor felixmm | 2010-06-11

Schreibe einen Kommentar