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:
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
}
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.