如何从 SQL 数据库中读取日期时间字段?
这不起作用:
emp.DateFacturation = (DateTime)(dr["DateFacturation"])
这也不是:
emp.DateFacturation = DateTime.Parse(dr["DateFacturation"].toString());
由于您已经评论了一个现已删除的答案:
dr 是一个 DataReader
您可以使用SqlDataReader.GetDateTime
. 您应该首先检查该值是否DBNull
与DataReader.IsDBNull
:
DateTime dateFacturation;
int colIndex = dr.GetOrdinal("DateFacturation");
if(!dr.IsDBNull( colIndex ))
dateFacturation = dr.GetDateTime( colIndex );
我GetOrdinal
用来获取列名的列索引以将其传递给GetDateTime
.
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...
}