使用新类型Nullable处理数据库表中null字段

.net 2.0中,提供了 Nullable的范型,通过它,我们可以为基础类型如int等赋予null的值,这样我们就可以处理null值了。

例子代码

 数据表有个字段updateTimestamp,可以为null值。在实体类中使用如下设置:

 

        private DateTime? _updateTimestamp;

 

      /// <summary>

        /// 文件更新日期

        /// </summary>

        public Nullable<DateTime> UpdateTimestamp

        {

            get { return this._updateTimestamp; }

            set { this._updateTimestamp = value; }

 }

 

       /// <summary>

        /// 从DataReader中加载数据

        /// </summary>

        /// <param name="rdr"></param>

        public void Load(IDataReader rdr)

        {

            if (rdr.Read())

            {

                IsLoaded = true;

                this.FileId = (int)rdr["fileId"];

                if (!rdr["updatetimestamp"].Equals(DBNull.Value))

                {

                    this.UpdateTimestamp = (DateTime)rdr["updatetimestamp"];

                }

                ……

                }

            }

}

 

//保存文件方法

public abstract int CreateFile(……,,DateTime? updatetimestamp, int downloadCount);

 

获取Nullable字段的值

        this.calDatePublished.SelectedDate = this.file. UpdateTimestamp.Value;

        不能直接使用this.calDatePublished.SelectedDate = this.file. UpdateTimestamp;





本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/75107,如需转载请自行联系原作者
上一篇:【面小易-面经11】阿里巴巴Java研发工程师5面经验


下一篇:【面小易-面经06】蚂蚁金服Java研发实习生5轮面试问题总结