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