码迷,mamicode.com
首页 > 数据库 > 详细

如何在FastReport.Net中使用SQL函数

时间:2019-01-04 16:13:07      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:tab   检索   注册   last   开头   add   ecif   函数   declare   

下载FastReport.Net最新版本

要在MS SQL中获取数据,可以使用sql查询,存储过程和存储函数,之前我们已经讨论了如何使用动态查询和存储过程作为报表数据源,在本文中,我们将创建一个表和标量函数,并在报表中使用它们,表函数返回表,标量函数返回单个值。首先,在MS SQL中创建一个表函数:

USE [testdb]
GO
 
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
-- =============================================
-- Description: Returns customers who live in the specified city
-- =============================================
 
CREATE FUNCTION [dbo].[GetCustomersFromCity]
(
 @city VARCHAR(20)
)
RETURNS TABLE
AS
RETURN
(
SELECT * FROM dbo.CUSTOMER WHERE CITY = @city
)

该函数采用一个参数——城市名称,并返回此城市中的客户列表。再添加一个现在的标量函数:

USE [testdb]
GO
 
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
-- =============================================
-- Description: Returns last added customer
-- =============================================
CREATE FUNCTION [dbo].[GetLastCustomer]
()
RETURNS VARCHAR(30)
AS
BEGIN
 DECLARE @Name VARCHAR(30)
 SELECT TOP 1 @Name = CONCAT(ind.FIRST_NAME, ‘ ‘, ind.LAST_NAME) FROM dbo.Customer cus
 JOIN dbo.Individual ind ON ind.CUST_ID = cus.CUST_ID
 ORDER BY cus.CUST_ID
 RETURN @Name
END

此函数不接受参数,但返回最后注册的客户端名称。现在让我们继续查看报表。首先,在报表中创建一个参数,我们将使用它将城市名称转移到函数,以检索数据。

技术分享图片

添加到MS SQL数据库的连接:

技术分享图片

然后,在下一步中,我们被要求选择表,但我们将使用Add SQL query ...按钮

技术分享图片

在下一步中,设置新表的名称——TableFunction,点击Next:

技术分享图片

与存储过程不同,函数用作表,也就是说,需要使用Select来获取数据:

技术分享图片

在下一步中,我们需要添加city查询参数,在其Expression属性中,选择报表的Param参数,单击Finish,得到一个新的数据源:

技术分享图片

现在添加对话框窗体并将报表的Param参数拖到它上面,将字段从TableFunction表拖到Data band,运行报表,在对话框中输入值:

技术分享图片

从表函数中获取样本:

技术分享图片

文章开头我们创建了两个函数,这个例子更简单,因为我没有向这个函数添加一个传入参数。让我们再创建一个数据源,另外,至于第一次——connection to MS SQL,再次单击Add SQL query ...按钮,调用标量函数与调用表函数略有不同:

技术分享图片

跳过所有其他步骤:

技术分享图片

再添加一页报表并将数据拖动到新数据源的单个字段——ScalarFunc,运行报表,转到第二页:

技术分享图片

如上所示,使用函数获取数据非常简单,它们将帮助您在开发报表及其执行时节省时间。

 

如何在FastReport.Net中使用SQL函数

标签:tab   检索   注册   last   开头   add   ecif   函数   declare   

原文地址:https://www.cnblogs.com/wxchuachua/p/10220229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!