【发布时间】:2011-03-02 20:19:51
【问题描述】:
我有一个这样的存储过程调用:
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);
}
但是在这一行:
existsCount = Convert.ToInt32(cmd.Parameters["successCount"].Value);
它抛出异常“无法将 'Oracle.DataAccess.Types.OracleDecimal' 类型的对象转换为 'System.IConvertible' 类型。”
有什么想法吗?谢谢。
【问题讨论】: