【发布时间】:2015-12-14 08:53:19
【问题描述】:
我正在尝试在 VS2015 中创建 Crystal Report,但我遇到了存储过程的问题。当我在没有存储过程的情况下运行报告时,它会获取所需的所有数据,并且所有组和公式都可以正常工作。下面是我的主要 SQL 代码。
SELECT type, description, hire_status, fleet_no, location, date_starting, time_finishing, date_finishing, type, week_number, changes
FROM XXXXXX INNER JOIN XXXXXX ON fleet_no= XXXXXX.fleet_no
WHERE week_number= @weekNo
当我尝试向报表添加存储过程时,我只得到一个空白报表,我丢失了报表中的所有数据。存储过程如下:
USE [xxxxxx]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [XXXXXXX].[getCurrentLocation]
@fleet varchar(50) = NULL
AS
Begin
SELECT TOP 1 (dbo.tbl_job_planning.location)
FROM dbo.tbl_job_planning
WHERE (fleet_no = @fleet) AND (date_starting <= DATEADD(week, DATEDIFF(day, 0, GETDATE()) / 7, 5))
ORDER BY date_starting DESC
end;
我在记录选择中将参数传递给这个存储过程。 我希望存储过程在报告的每一行显示一个位置。当我只使用存储过程运行报告时,我只返回 1 个值,而不是报告中我需要的每个项目的值。
【问题讨论】:
-
您使用的是 MySQL 还是 MS SQL Server?不要标记未涉及的产品...
-
如果您需要所有记录,请不要将 top1 删除,而只需使用数据库列。
标签: sql-server stored-procedures crystal-reports