.net 2.0 中,提供了 Nullable 的范型,通过它,我们可以为基础类型如 int 等赋予 null 的值,这样我们就可以处理 null 值了。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

例子代码

  数据表有个字段 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;


 

参考:[url]http://blogs.msdn.com/ericgu/archive/2004/05/27/143221.aspx[/url]
自由、创新、研究、探索……