DataRow转换时对DBNULL的处理
DataRow转换时对DBNULL的处理使用放射的方式对DBNULL进行处理
public static T SafeRead<T>(this IDataReader reader, string fieldName, T defaultValue)
{
try
{
object obj = reader[fieldName];
if (obj == null || obj == System.DBNull.Value)
return defaultValue;
return (T)Convert.ChangeType(obj, defaultValue.GetType());
}
catch
{
return defaultValue;
}
}
调用例如
dr.SafeRead<Int32>("Id",0);
dr.SafeRead<string>("Name","");