【发布时间】:2012-10-10 16:13:42
【问题描述】:
我在从 C# 到 Sql Server 的 sql 查询中遇到问题,不知道是什么原因造成的......
代码如下所示:
SqlCommand cmd = new SqlCommand(
"SELECT tscoc_Name,
tscoc_Start,
tscoc_End
FROM
tbl_SchedulerOnCall
WHERE (
tscoc_Start > @fd
AND
tscoc_End < @ld)
AND
tscoc_Start = @state",
con);
cmd.Parameters.AddWithValue("fd", SqlDbType.DateTime).Value =
startDate.ToString("yyyy-MM-dd");
cmd.Parameters.AddWithValue("ld", SqlDbType.DateTime).Value =
startDate.AddDays(14).ToString("yyyy-MM-dd");
SQL 查询是这样的:
exec sp_executesql
N'SELECT tscoc_Name,
tscoc_Start,
tscoc_End
FROM
tbl_SchedulerOnCall
WHERE (
tscoc_Start > @fd
AND
tscoc_End < @ld)
AND
tscoc_Start = @state',
N'@fd datetime, @ld datetime, @state nvarchar(2)',
@fd = 'Oct 8 2012 12:00:00:000AM',
@ld = 'Oct 22 2012 12:00:00:000AM',
@state = N'SA'
错误是:
从字符串转换日期时间的语法错误。
有人知道发生了什么吗?
【问题讨论】:
-
当前日期的字符串格式是什么?
标签: c# sql-server