您的位置:首页 > 编程学习 > ASP.NET

DataRow转换时对DBNULL的处理

更多 2016/8/18 来源:ASP.NET学习浏览量:798
学习标签: DataRow DataTable DataSet
本文导读:在ASP.NET编程中,经常需要从数据库中读取大量的数据,可以使用dataset返回数据,但是,如果取出来的某列值在数据库中时NULL值,则在ASP.NET中,读取出来的则是DBNULL,如果直接将空的datarow转换成ASP.NET中的数据类型,则会抛异常,下面介绍处理方法

使用放射的方式对DBNULL进行处理

 

 
C# 代码   复制

    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","");

 

收藏
295
很赞
281
您可能感兴趣