请使用 linq 从数据库中提取一些数据到实体。从查询结果中,我创建一个集合并绑定到一个 gridview 控件。问题是数据库中的一个日期列中的一些值是空的,当我做一个tostring 它给了我一个例外。下面是我用来从数据库中获取数据的第一个查询。
Dim sSession = From ses In DemoSchool.Terms
Select New With {Key .Session = ses.Session,
Key .Term = ses.Term1,
Key .StartDate = ses.StartDate,
Key .EndDate = ses.EndDate,
Key .NextTerm = ses.NextTerm}
然后从这个结果中我选择获取列,以便我可以将格式应用于日期时间列
Dim query = (From estty In sSession Select estty).ToList() _
.Select(Function(essty) New With {.Session = essty.Session,
.Term = essty.Term,
.StartDate = essty.StartDate.ToString("ddd d MMM yyyy"),
.EndDate = CDate(essty.EndDate).ToString("ddd d MMM yyyy"),
.NextTerm = CDate(essty.NextTerm).ToString("ddd d MMM yyyy")})
问题来自最后两条语句,因为数据库中的这一列包含空值,我认为 CDate 方法会起作用,但事实证明我错了。(这是抛出错误的地方) .EndDate = CDate(essty.EndDate).ToString("ddd d MMM yyyy"), .NextTerm = CDate(essty.NextTerm).ToString("ddd d MMM yyyy")} )
第二个查询结果绑定到网格视图,如 grdShowSession.DataSource = query grdShowSession.DataBind() 显示的错误是 Nullable object must have a value。请我需要帮助。