【发布时间】:2012-05-01 09:50:15
【问题描述】:
我使用 DataReader 读取我的数据库。
并且某些行没有 fdate 值。
所以当我将空日期转换为 DateTime 时,就会发生错误。
如何检查该字段是否为空?
AdsCommand cmd = conn.CreateCommand();
cmd.CommandText = "select name,fdate from abc";
AdsDataReader reader = cmd.ExecuteReader();
DateTime flsdate = (reader["fdate"].Equals(null))? Convert.ToDateTime(reader["fdate"]) : DateTime.Today;
我尝试使用 Equals,但它不起作用。
有人知道如何检查空对象以避免转换错误吗?
谢谢!
【问题讨论】:
-
使用
==或!=而不是.Equals。此外,您可能需要检查DBNull,而不仅仅是null。 (是的,它们是不同的)..
标签: c# asp.net .net sql datareader