SQL数据读取器返回错误的日期

时间:2013-07-10 08:57:54

标签: c# sql-server visual-studio-2010 sqldatareader

我正在开发Excel,从SQL Server数据库中检索数据并将其插入Excel。

在数据库中,我有一个日期2013-06-01(YYYY-MM-DD)

使用SqlDataReader从数据库读取时,请执行以下命令:

myReader.GetValue(c)

返回06/01/2013(DD-MM-YYYY),然后存储在Excel中,当天为6,月份为1

任何想法可能会发生什么?

由于

2 个答案:

答案 0 :(得分:2)

这可能是本地化的问题 您可以将本地化设置为SQL连接和您正在使用的系统,甚至是excel中的列规范 我最好的猜测是检查设置是否正常。

答案 1 :(得分:0)

此行为似乎是由SQL Server和Microsoft Excel之间的其他本地化配置产生的。

如果您无法更改此配置,建议您使用CAST()CONVERT()作为用于检索数据的SQL语句。

例如:

SELECT CONVERT(DATETIME, Date_Column, 103) AS UsingConvertFrom_DDMMYYYY
FROM TABLE_NAME

使用此方法(不是最佳),您强制DataReader.GetValue的值使用原始值“解析好”。

您可以查看MSDN文档以获取更多详细信息。