Retrieving a DateTime value from a DataRow (C#)

后端 未结 8 1284
别跟我提以往
别跟我提以往 2020-12-09 04:06

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:

相关标签:
8条回答
  • 2020-12-09 04:28

    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 
    }
    
    0 讨论(0)
  • 2020-12-09 04:38

    I would recommend using DateTime.Parse() if the row is returning a string for that index.

     string prodCode = r["PRD-CDE"].ToString(),statCode = r["STAT"].ToString();
     DateTime firstIssueDate = DateTime.Parse(r["FISS"].ToString());
     DateTime endIssueDate = DateTime.Parse(r["EISS"].ToString());
    

    You could also use TryParse depending on your needs.

    0 讨论(0)
提交回复
热议问题