6

如何从 SQL 数据库中读取日期时间字段?

这不起作用:

emp.DateFacturation = (DateTime)(dr["DateFacturation"])

这也不是:

emp.DateFacturation = DateTime.Parse(dr["DateFacturation"].toString());
4

2 回答 2

6

由于您已经评论了一个现已删除的答案:

dr 是一个 DataReader

您可以使用SqlDataReader.GetDateTime. 您应该首先检查该值是否DBNullDataReader.IsDBNull

DateTime dateFacturation;
int colIndex = dr.GetOrdinal("DateFacturation");
if(!dr.IsDBNull( colIndex ))
    dateFacturation = dr.GetDateTime( colIndex );

GetOrdinal用来获取列名的列索引以将其传递给GetDateTime.

于 2012-10-31T13:59:27.907 回答
0

使用DateTime.TryParse

DateTime datevalue;
if (DateTime.TryParse(dr["DateFacturation"].ToString(), out datevalue))
{
    emp.DateFacturation = datevalue;              
}
else
{
    // TODO: conversion failed... not a valid DateTime
    // Print it out and see what is wrong with it...
}
于 2012-10-31T14:15:30.407 回答