Fork me on GitHub

使用新类型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;


 

参考:http://blogs.msdn.com/ericgu/archive/2004/05/27/143221.aspx

posted @ 2006-01-10 23:34  张善友  阅读(2532)  评论(0编辑  收藏  举报