报表组件FineReport中SQL函数的介绍

 时间:2026-02-13 08:34:40

1、公式解释

SQL(connectionName,sql,columnIndex,rowIndex):返回的数据是从connectionName数据库中获取的sql语句的表中的第columnIndex列第rowIndex行所对应的元素。

connectionName:数据库名,字符串形式,需要用引号如"FRDemo";

sql:SQL语句,字符串形式;

columnIndex:列序号,整型;

rowIndex:行序号,整型。

备注:行序号可以不写,这样返回值为数据列。

2、示例(就一般的只获取某个字段内容)

从表 STSCORE中,我们可看到第3行第3列的值为Alex,如下:

现在若要直接在报表的单元格中显示数据值:Alex,而不通过先定义一个数据集后,再去取数据的方式,这里就可以使用sql()公式,此时只需在单元格中输入:=sql("FRDemo","SELECT * FROM STSCORE",3,3)即可,预览就可看到Alex值。

报表组件FineReport中SQL函数的介绍

3、示例(带有参数时公式的使用)

带有参数形式的时候,直接在报表的单元格中获取数据值,写法如下:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3)

显示效果(班级为Class1的第3列所有值),如下:

报表组件FineReport中SQL函数的介绍

4、若需要显示某个具体值,如:显示 Jonny 的效果(即班级为Class1的第3列第4行的值),写法如下:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3,4)

若参数值为变量如为报表参数或者是某个单元格,则写法如下:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$class+"' ",3,4)

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+A1+"' ",3,4)

如果传递的参数是获取当前单元格的值,即用$$$作为参数时,字符串类型同样需要拼接单引号,如下:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)

注:如果参数或者单元格值有多个,那么sql函数的写法如下:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO in ('"+$class+"') ",3,4)

  • Badboy具体安装步骤
  • Oracle linux6.5环境下Oracle 11g DG搭建(一)
  • java如何获取远程数据库表
  • xshell如何使用屏幕和缓冲区清除?
  • Linux下搭建禅道项目管理软件
  • 热门搜索
    赤壁旅游景点大全 英国旅游签证新政策 同程旅游一元门票 通化旅游景点大全 杭州到乌镇旅游攻略 这个季节去哪里旅游最好 春季旅游攻略 大粤网旅游 马尔代夫旅游团 广州到厦门旅游攻略