/// <summary> /// Exécute une commande et lit le scalar. /// </summary> /// <typeparam name="T">Type de l'élement.</typeparam> /// <param name="cmd">Commande à exécuter.</param> /// <returns>Objet.</returns> public static T ReadScalar <T>(this SqlServerCommand cmd) { object value = cmd.ExecuteScalar(); /* Valeur non nulle : on la cast et on la renvoie. */ if (value != null) { return((T)value); } /* Valeur null : on renvoie seulement si le type est nullable. */ if (typeof(T).IsClass || Nullable.GetUnderlyingType(typeof(T)) != null) { return((T)value); } /* Valeur null pour un type non nullable : exception. */ throw new NotSupportedException("Null result is not supported."); }
/// <summary> /// Exécute une commande et lit le booléen. /// </summary> /// <param name="cmd">Commande à exécuter.</param> /// <returns>Objet.</returns> public static bool ReadBoolean(this SqlServerCommand cmd) { return(Convert.ToBoolean(cmd.ExecuteScalar())); }