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

时间:2022-04-23
本文章向大家介绍使用新类型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