public static int XSafeIntQuery(AbstractSqlConnectionDescriptor connDesc,
SqlTransaction transaction, string sql, IEnumerable sqlParams)
{
int retVal;
object retObj = XSafeScalarQuery(connDesc, transaction, sql, sqlParams);
try
{
if (retObj == null)
{
throw new NullReferenceException(
"The sql query should have returned an int, but returned null instead.");
}
retVal = Convert.ToInt32(retObj);
}
catch (Exception e)
{
throw new UnableToProcessSqlResultsException("Result was not numeric. ",
connDesc, sql, sqlParams, e);
}
return retVal;
}