【发布时间】:2015-05-05 15:38:39
【问题描述】:
我正在尝试从数据库中检索会议的特定日期以显示在网页上。读取会议 ID,如下所示:
conferID = reader["ConferenceID"].ToString();
我希望页面仅显示 ConferenceID='3' 中的日期,但是当我从下面的代码中删除 (ConferenceID = conferID) 时,我还从 ConferenceID='1' 和 ConferenceID='2' 中获取日期。但是,如果我将 (ConferenceID = conferID) 添加回代码,页面就会中断。如果我将这些代码放入 SQL 中进行测试并将 (ConferenceID=conferID) 更改为 (ConferenceID='3'),它就可以工作。我现在迷路了。任何帮助表示赞赏。
SqlCommand GetDates = new SqlCommand(@"
WITH x AS (
select MAX(ConferenceID) as ConferenceID, row_number() over(order by D.Dates) as SN, D.Dates
from Conference as T
inner join master..spt_values as N
on N.number between 0 and datediff(day, T.ConferenceBeginDate, T.ConferenceEndDate)
cross apply (select dateadd(day, N.number, T.ConferenceBeginDate)) as D(Dates)
where N.type ='P' AND (ConferenceID = conferID) group by ConferenceID, D.Dates
)
SELECT ConferenceID, SN, Dates
FROM x
WHERE SN <> (Select MAX(SN) from x) AND (ConferenceID = conferID)
GROUP BY ConferenceID, SN, Dates", conn);
【问题讨论】:
标签: c# sql-server