繁体   English   中英

在C#中检查像DBNull这样的DBEmpty

[英]Check for DBEmpty like DBNull in C#

我有一个表Employee ,其列DateTime类型为JoiningDate

我正在asp.net中获取此值。

我知道要检查DBnull,我们使用dr["JoiningDate"] != DBNull.Value

但是,如果此JoiningDate''一样为空,则对其进行提取会使它像1/1/1900

在asp.net中检查DB EMPTY的datetime列的最佳方法是什么。

细节 :

JoiningDate是一个DateTime字段。我将其设置为空字符串,而不是NULL。

并在asp.net in dr["JoiningDate"] which is a datarow )中获取它时,它给出了1/1/1900

代码示例

DataSet dsEmployee = null;
dsEmployee = Data.Select("SELECT * FROM Employee WHERE EmployeeID = '" + _id + "'");

DataRow drEmployee = dsEmployee.Tables[0].Rows[0];

if(drEmployee["JoiningDate"] != string.Empty)
{

}

尝试这个-

 if(!String.IsNullOrEmpty(Convert.ToString(dr["JoiningDate"])))
 {

 }
if(string.IsNullOrEmpty(........))
{

......

}

你可以做这样的事情来检查...

 if(  dr["JoiningDate"] != DBNull.Value && (DateTime)dr["JoiningDate"] != DateTime.Parse("1/1/1900")) {
//do...
}

您必须像这样编辑支票

if(dr["JoiningDate"] != DBNull.Value && !string.IsNullOrEmpty(Convert.ToString(dr["JoiningDate"])))
{
     //Your Code
}

如果您说dr["JoiningDate"]没有返回null

  • 您正在更改SELECT查询中的值
  • 列的默认值设置为1/1/1900

另外,请检查插入记录的位置,在这种情况下,您将为该特定列传递null ,以使其假定要返回的默认值

因此,您应该依靠检查条件来实现类似new DateTime(1900,1,1)DateTime实例,然后进行比较

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM