C# 如何在asp.net中比较数据库字段和日期时间
NET和我正在开发一个程序,在这个程序中,我从数据库中获取一些数据,并尝试与DateTime字段进行比较。 例如,我在SEIBEL数据库中有某些文档,我希望这些文档的过期日期与当前日期和时间进行比较,并相应地发送消息。但不知何故,我无法比较它们 这是我正在运行的asp.net中的sql查询C# 如何在asp.net中比较数据库字段和日期时间,c#,asp.net,database,datetime,C#,Asp.net,Database,Datetime,NET和我正在开发一个程序,在这个程序中,我从数据库中获取一些数据,并尝试与DateTime字段进行比较。 例如,我在SEIBEL数据库中有某些文档,我希望这些文档的过期日期与当前日期和时间进行比较,并相应地发送消息。但不知何故,我无法比较它们 这是我正在运行的asp.net中的sql查询 private static readonly string GET_PROVIDER_DOCUMENTS = @" select sc.row_id, doc.created as crea
private static readonly string GET_PROVIDER_DOCUMENTS = @"
select sc.row_id,
doc.created as created_date,
doc.attrib_04 as document_type,
doc.attrib_47 as exipration_date,
att.row_id as document_row_id,
att.file_name || '.' || att.file_ext as file_name
from siebel.s_org_ext sc
join siebel.s_org_ext_xm doc
on doc.par_row_id = sc.row_id
and doc.type = 'SCLicenseInfo'
and doc.attrib_35 = 'Expiration Date'
and doc.attrib_04 in ('Certificate of Insurance', 'Master Service Agreement')
left join siebel.s_accnt_att att on att.comments = doc.row_id
where sc.row_id = :sc_row_id
";
这是我试图从数据库中获取过期日期的地方
ExpirationDate = ConvertExpirationDate(dr["exipration_date"].ToString()),
如果有人对此有任何想法,那就太好了。提前感谢您看过DateTime对象上的TryParse方法了吗
可能适合您的需要,但我相信这取决于您的日期存储格式。假设您成功地从数据库获取日期时间并将其存储为名为ExpirationDate的字符串:
DateTime date1 = Convert.ToDateTime(ExpirationDate);
Datetime date2 = new Datetime(---)//desired date to compare with.
if(DateTime.Compare(date1,date2)==0)
{
// They're equal.
}
else
{
// Not equal.
}
转换:
比较:
或者,您可以比较日期的日/月/年组件,如下所示:
DateTime today = DateTime.Today;
if(ExpirationDate.Year == today.Year &&
ExpirationDate.Month = today.Month && ExpirationDate.Day = today.Day )
您是否在询问如何将dr[“exipration_date”]转换为DateTime?什么类型的字段是
expiration_date
?这是一个VARCHAR,一个约会还是别的什么?在谷歌上快速搜索siebel
表明它很可能托管在Oracle数据库中。是这样吗?是的,那太好了。你能提供更多的细节吗?ConvertExpirationDate
的代码是什么?当你说你无法比较它们时会发生什么?您是否遇到异常?@John,如果您想转换为DateTime,您好,我尝试了您的解决方案,但出现了错误“名称“ExpirationDate”在当前上下文中不存在”我想因为它被声明为公共DateTime ExpirationDate{get;set;},它看起来像字符串,但行为不同