Desidero recuperare i valori decimali dal database e vorrei sapere qual è il metodo consigliato per verificare i valori nulli.SqlDataReader Il modo migliore per verificare valori nulli -sqlDataReader.IsDBNull vs DBNull.Value
Ho visto su MSDN - DBNull.Value Field che questo controllo è usato raramente.
Quindi, è il reader.IsDBNull
il modo migliore/più efficace per verificare i valori nulli?
ho creato 2 metodi di campionamento:
public static decimal? GetNullableDecimal(SqlDataReader reader, string fieldName)
{
if (reader[fieldName] == DBNull.Value)
{
return null;
}
return (decimal)reader[fieldName];
}
public static decimal? GetNullableDecimal_2(SqlDataReader reader, string fieldName)
{
if (reader.IsDBNull(reader[fieldName]))
{
return null;
}
return (decimal)reader[fieldName];
}
maggior parte del tempo i campi stanno per essere nullo.
Grazie in anticipo!
Quale mai preferisci e trova più leggibile. Tuttavia, vale la pena notare che i vostri esempi non sono strettamente equivalenti dato l'uso di 'reader.GetOrdinal' nel secondo. –
Il 'sintassi' reader [nomeCampo] 'è risolto internamente a' reader.GetOrdinal (fieldName) ' – Steve
Ho modificato l'esempio per usare reader [fieldName] in entrambi i casi – diver