我必须从sql server db对数组中的记录进行c#搜索
使用3个数据元素。其中一个数据元素必须是名为DateOfBirth的列中的DateTime元素。不幸的是,此列中有很多空值,我无法弄清楚如何将DateTime变量与具有NULL
值的字段进行比较。我看到很多答案似乎与我在这里所需要的很接近,但没有任何帮助。感谢您的帮助,这是我的格式。
if ((DateTime)dt == (DateTime)temp[i].Individual.DateOfBirth)
GlobalNum3.bnum3 = 1;
答案 0 :(得分:1)
我假设dt
已经是DateTime
,在这种情况下它不能为空(DateTime
是struct
)并且没有必要强制转换它。此外,temp[i].Individual.DateOfBirth
也是DateTime
,因此也不能null
,或者Nullable<DateTime>
DateTimes
假设两者都是nulls
,则数据库DateTime.MinValue
将设置为if (dt == (DateTime)temp[i].Individual.DateOfBirth)
{
GlobalNum3.bnum3 = 1;
}
,因此只需比较值:
temp[i].Individual.DateOfBirth
但是,如果Nullable<DateTime>
是null
,可能是var possibleDateOfBirth = temp[i].Individual.DateOfBirth;
if (possibleDateOfBirth != null &&
possibleDateOfBirth.HasValue &&
dt == possibleDateOfBirth.Value)
{
GlobalNum3.bnum3 = 1;
}
,或者可能根本没有值,请按照以下方式使用:
$(document).ready(function(){
app.modularized.publ("xyz");
});
var app = window.app || {}
// If "app" is defined use an empty object. "app" is the namespace
app.modularized = function(){ // module
// private members
var privateVar, privateVar2,
foo = function() {},
bar = function(text){
alert(" ... " + text);
}
// public interface
return {
publ: bar
}
}(); // a.k.a Revealing Module Pattern.
答案 1 :(得分:0)
如果您正在查询数据库,请尝试测试可以为空的。HasValue
属性,如下所示:
if (temp[i].Individual.DateOfBirth.HasValue && dt == temp[i].Individual.DateOfBirth.Value)
{
GlobalNum3.bnum3 = 1;
}
显然我假设您正在测试DateTime?
属性。