检查DBEmpty,如C#中的DBNull

时间:2013-07-31 07:20:32

标签: c# asp.net sql-server

我的表Employee有一个 DateTime 类型的列JoiningDate

我在asp.net中获取此值。

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

但如果此JoiningDate为空'',那么抓取它就会像1/1/1900那样。

检查日期时间列中 asp.net中的DB EMPTY 的最佳方法是什么。

详情:

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)
{

}

5 个答案:

答案 0 :(得分:1)

试试这个 -

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

 }

答案 1 :(得分:0)

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

......

}

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

您必须像这样编辑支票

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

答案 4 :(得分:0)

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

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

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

因此,您应该通过制作DateTime new DateTime(1900,1,1)实例来检查条件,然后进行比较