从一个DataRow检索日期时间值(C#) [英] Retrieving a DateTime value from a DataRow (C#)

查看:226
本文介绍了从一个DataRow检索日期时间值(C#)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能获得的DateTime 在C#中的行值,当前code是给我的错误 任何帮助是AP preciated,数据从数据库中取得进展进来:

 的foreach(在ds.Tables的DataRow R [O] .Rows)
{
    串签子code = R [PRD-CDE]的ToString()。
    统计code = R [STAT]的ToString()。
    日期时间firstIssueDate =(DateTime的)(R [FISS]);
    日期时间endIssueDate =(DateTime的)(R [EISS]);
    如果(endIssueDate> DateTime.Now)
    { /*做一点事...*/}
    其他{/ *用户无效... * /}
}
 

有在获得日期转换和收杆采用两种方法,谢谢大家的帮助

最终工作code片断:

 的foreach(在ds.Tables的DataRow R [O] .Rows)
            {
                串签子code = R [PRD-CDE]的ToString(),统计code = R [STAT]的ToString()。
               //为r?DateTime的>(FISS);
                如果(R [FISS]!=的DBNull.Value)
                {
                    日期时间firstIssueDate = Convert.ToDateTime(R [FISS]);
                    如果(R [EISS]!=的DBNull.Value)
                    {
                        日期时间endIssueDate = DateTime.Parse(:R [EISS]的ToString());
                        如果(endIssueDate> DateTime.Now)
                        {
 

解决方案

这只是一个猜测,但如果相应类型在数据库中的日期时间,你能检查列可以为空?

如果这样,你可能需要做一次检查研究[列] ==的DBNull.Value 键,然后将它传递给一个可为空的日期时间?场。

或者更简单:

  row.Field< D​​ateTime的>?(列)
 

如果它不是,那么是的,Convert.ToDateTime()或别的东西应该这样做。

编辑:

我看你最后的code有,但有没有你想这样做任何机会:

 日期时间? firstIssueDate = r.Field< D​​ateTime的>?(费斯);
日期时间? endIssueDate = r.Field< D​​ateTime的>(EISS);

如果(firstIssueDate.HasValue&安培;&安培; endIssueDate.HasValue)
{
    firstIssueDate.Value //等等等等
    endIssueDate.Value //等等等等
}
 

How can I get DateTime value in C# from row, the current code is giving me error any help is appreciated, the data is coming in from progress database:

foreach (DataRow r in ds.Tables[0].Rows)
{
    string prodCode = r["PRD-CDE"].ToString();
    statCode = r["STAT"].ToString();
    DateTime firstIssueDate = (DateTime)(r["FISS"]); 
    DateTime endIssueDate = (DateTime)(r["EISS"]);
    if(endIssueDate > DateTime.Now)
    { /*do some thing...*/}
    else {/*user invalid...*/}
}

there are two ways used in getting date convert and pars, thank you all for the help

Final working Code snippet:

foreach (DataRow r in ds.Tables[0].Rows)
            {
                string prodCode = r["PRD-CDE"].ToString(),statCode = r["STAT"].ToString();
               // r.<DateTime?>("FISS");
                if (r["FISS"] != DBNull.Value)
                {
                    DateTime firstIssueDate = Convert.ToDateTime(r["FISS"]);
                    if (r["EISS"] != DBNull.Value)
                    {
                        DateTime endIssueDate = DateTime.Parse(r["EISS"].ToString());
                        if (endIssueDate > DateTime.Now)
                        {

解决方案

This is just a guess but if the corresponding type in the database is DateTime, could you check if the column is nullable?

If so you may want to do a check r["column"] == DBNull.Value and then pass it to a nullable DateTime? Field.

Or even easier:

row.Field<DateTime?>("column")

If it isn't then yeah, Convert.ToDateTime() or something else should do it.

EDIT:

I see your final code there but is there any chance you want to do this:

DateTime? firstIssueDate = r.Field<DateTime?>("fiss"); 
DateTime? endIssueDate = r.Field<DateTime?>("eiss"); 

if (firstIssueDate.HasValue && endIssueDate.HasValue) 
{ 
    firstIssueDate.Value // blah blah 
    endIssueDate.Value // blah blah 
}

这篇关于从一个DataRow检索日期时间值(C#)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆