我正在尝试使用我的代码在Date列中获取数据库的最新更新DATE,

if (ds.Tables[0].Rows.Count > 0 && (ds.Tables[0].Rows[0][4].ToString() != null && ds.Tables[0].Rows[0][4].ToString() != ""))
            {
                try
                {
                    DataColumn col = ds.Tables[0].Columns[4];
                    DataTable tbl = col.Table;
                    var LastUpdate = tbl.AsEnumerable()
                   .Max(r => r.Field<DateTime>(col.ColumnName));
                    date = LastUpdate.ToString();
                    value = date.Split(' ');
                    txtActivatedOn.Text = value[0];
                }
                catch
                {
                }
            }


它的一部分代码只是从数据库中的DATE列中获取第4列,并获取插入该列中的最后日期,它给出了准确的答案,但是该列包含null值会导致错误

如何在获取日期时跳过该列中的空值?

希望您的建议

提前致谢

最佳答案

只需先尝试在where条件中检查空值。

将Datetime更改为可为null的DateTime?使nullvalues检查工作。

    var LastUpdate = ds.Tables[0].AsEnumerable().Where(r => r.Field<DateTime?>(col.ColumnName) != null).Max(r => r.Field<DateTime>(col.ColumnName));

关于c# - ASP.net获取数据库日期的最大日期Date列如何避免Date列C#中为Null附加我的代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29208266/

10-12 07:19