【发布时间】:2013-02-08 21:31:31
【问题描述】:
我有一个查询作为数据表放入数据集中。查询运行良好,但是在数据表中它没有在数据列中列出任何内容,因为我无法报告它...任何想法为什么这不起作用?我的查询如下。
SELECT * FROM (
SELECT timeclock.dtTimeIn, timeclock.dtTimeOut, employees.sfirstname,
RANK() OVER ( ORDER BY dtTimeIn) rk1, --earliest record gets 1
RANK() OVER (ORDER BY dtTimeOut DESC) rk2 --latest record gets 1
FROM TimeClock INNER JOIN
Employees ON TimeClock.lEmployeeID = Employees.lEmployeeID
WHERE (dtTimeIn > dateadd(day, datediff(day, 0, getdate())-1, 0)) AND (dtTimeOut < dateadd(day, datediff(day, 0, getdate()), 0)) AND
(sDept IN ('1', '2', '3'))
) A
WHERE rk2=1
我运行查询时的当前输出:
dtTimeIn dtTimeOut sfirstname rk1 rk2
2/7/2013 2:36:00 PM 2/7/2013 7:52:33 PM Brian 10 1
在向导中创建表适配器时...我收到一条错误消息:
The Wizard detected the following problems when configuring the TableAdapter:
"OpenTime":
Details:
Generated SELECT statement.
The OVER SQL construct or statement is not supported
To add these components to your dataset, click Finish.
我猜它不喜欢查询...但我不确定除了使用“OVER”功能之外如何完成查询...
【问题讨论】:
-
什么意思它没有在DataColumn中列出任何东西?
-
你能告诉我们你的编译代码吗?
-
在数据集中你有一个“数据表”和一个“tableadapter”。在 tableadapter 里面通常是“Fill,GetData()”,任何参数都放在 () 里面。对于数据表,它通常显示通常对应于“选择”列的“数据列”。但是,没有任何“数据列”,它只是空白......因此,如果我尝试使用报表查看器创建报表,它不会显示任何要报告的内容。
-
@Love2Learn 我不确定你的意思。几乎没有任何代码,因为它不会创建 .rdlc。
-
@Shmewnix,将
SQL移动到Storedprocedure并使用它来填充您的dataset
标签: c# sql sql-server vb.net sql-server-2005