【发布时间】:2015-11-28 02:53:07
【问题描述】:
我遇到了一个问题,ExecuteScalar 正在向数据库发送一些 datetime 参数并且我收到错误
将 nvarchar 转换为日期时间无效
SQL Server Profiler 显示 datetime 在日期中间有一个换行符,如下所示:
@inspection_start='2015-09-10 /n
00:00:00',
我已检查所有数据类型是否正确。
有谁知道什么会导致这个问题?
谢谢
【问题讨论】:
-
也许可以分享一些代码...?
-
OK 数据类型正确。您在 nvarchar 中有一个换行符。这不会转换为日期时间。
-
数据类型不正确。您有日期时间数据,但出于某种奇怪的原因,您将其作为字符串 (
nvarchar) 传递,从而为您所描述的问题打开了机会。如果您将此数据 作为datetime数据传递,则不会出现问题。 -
@Damien_The_Unbeliever OP 声明向数据库发送了一些日期时间参数。
-
@Frisbee - 是的,但它们显然不发送日期时间参数,因为它们不可能包含换行符。如果他们正在发送日期时间参数,作为日期时间,他们将作为二进制 blob 传递。
标签: c# sql-server tsql datetime