1.build DataSource
2.String sql
String sql = "select * from test where time between ? and ?";
3.build Parameter
int timeStart = xxx;
int timeEnd = xxx;
void buildParameters() throws SemanticException
{
ScalarParameterHandle startTimeHandle = efactory.newScalarParameter("startTimeStr");
startTimeHandle.setDefaultValue(timeStart+"");
startTimeHandle.setAllowNull(false);
startTimeHandle.setAllowBlank(false);
startTimeHandle.setHidden(true);
startTimeHandle.setValueType(DesignChoiceConstants.PARAM_VALUE_TYPE_STATIC);
startTimeHandle.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);//PARAM_TYPE_INTEGER
ScalarParameterHandle endTimeHandle = efactory.newScalarParameter("endTimeStr");
endTimeHandle.setDefaultValue(timeEnd+"");
endTimeHandle.setAllowNull(false);
endTimeHandle.setAllowBlank(false);
endTimeHandle.setHidden(true);
startTimeHandle.setValueType(DesignChoiceConstants.PARAM_VALUE_TYPE_STATIC);
endTimeHandle.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);//float
designHandle.getParameters().add(startTimeHandle);
designHandle.getParameters().add(endTimeHandle);
}
4.build DataSet [创建数据集(即:某些执行sql语句)]
void buildDataSet(String sql,String dataSourceName,String dataSetName) throws SemanticException
{
OdaDataSetHandle dsHandle = efactory.newOdaDataSet( dataSetName,
"org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" );
dsHandle.setDataSource( dataSourceName);
dsHandle.setQueryText( sql );
designHandle.getDataSets( ).add( dsHandle );
buildDataSetParameter(dsHandle);
}
5.build DataSetParameter [创建数据集合的参数]
private void buildDataSetParameter(OdaDataSetHandle dsHandle) throws SemanticException{
OdaDataSetParameter dataSetStartTimeParam = StructureFactory.createOdaDataSetParameter();
dataSetStartTimeParam.setName("param1");
dataSetStartTimeParam.setParamName("startTimeStr");
dataSetStartTimeParam.setPosition(1);
dataSetStartTimeParam.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);
dataSetStartTimeParam.setAllowNull(false);
dataSetStartTimeParam.setDefaultValue(System.currentTimeMillis()/1000 - 1000+"");
dataSetStartTimeParam.setIsInput(true);
dataSetStartTimeParam.setIsOutput(false);
dataSetStartTimeParam.setIsOptional(false);
OdaDataSetParameter dataSetEndTimeParam = StructureFactory.createOdaDataSetParameter();
dataSetEndTimeParam.setName("param2");
dataSetEndTimeParam.setParamName("endTimeStr");
dataSetEndTimeParam.setPosition(2);
dataSetEndTimeParam.setDataType(DesignChoiceConstants.PARAM_TYPE_STRING);
dataSetEndTimeParam.setAllowNull(false);
dataSetEndTimeParam.setDefaultValue(System.currentTimeMillis()+"");
dataSetEndTimeParam.setIsInput(true);
dataSetEndTimeParam.setIsOutput(false);
dataSetEndTimeParam.setIsOptional(false);
PropertyHandle parameterHandle = dsHandle.getPropertyHandle(DataSetHandle.PARAMETERS_PROP);
// parameterHandle.insertItem(dataSetStartTimeParam, 0);
// parameterHandle.insertItem(dataSetEndTimeParam, 1);
parameterHandle.addItem(dataSetStartTimeParam);
parameterHandle.addItem(dataSetEndTimeParam);
}
6.modify report parameter
int timeStart = xxx;
int timeEnd = xxx;
void setReportParameterValue(ReportDesignHandle designHandle) throws SemanticException, IOException{
((ScalarParameterHandle) designHandle.findParameter("startTimeStr"))
.setDefaultValue(timeStart+ "");
((ScalarParameterHandle) designHandle.findParameter("endTimeStr"))
.setDefaultValue(timeEnd+ "");
designHandle.save();
}
若修改完后,打开或导出,则:
reportEngine.shutdown();
Platform.shutdown();
分享到:
相关推荐
fire bird常用sql语句 一、分页写法小例: 二、显示表名和表结构 三、使用ISQL连接数据库 四、更新字段注释 五、显示字段注释 六、更新表注释 七、查询所有的表和视图(包括系统表和系统视图) 八、查询所有的用户表...
在Java中实现Flappy Bird涉及以下关键知识点: 1. **Java GUI编程**:Flappy Bird游戏的界面通常是使用Java的Swing或JavaFX库构建的。这些库提供了创建窗口、按钮、图像和动画的工具。开发者需要了解如何使用这些...
FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...
本文将深入探讨“蛋蛋助手v1.50”、“DOscan”以及“Bird”这三款工具的功能特性及其在实际工作中的应用,帮助读者更好地理解和利用这些工具。 首先,让我们关注“蛋蛋助手v1.50”。这个版本的更新主要在于新增了...
Elephant Bird项目提供了对LZO压缩数据的支持,包括Hadoop MapReduce任务中的输入和输出格式,使得数据在存储和传输过程中可以保持较小的体积,从而提高系统性能。 二、Protocol Buffers Google Protocol Buffers是...
ClickHouse 中的投影(Projections)是一种优化查询执行的技术,由 Amos Bird 在 ClickHouse PPT 中详细介绍。下面是 ClickHouse 中投影的相关知识点: 一、什么是投影(What is a Projection?) 投影是一种存储...
### Oracle数据字典和动态性能视图 #### 1. 数据字典概述 数据字典在Oracle数据库中扮演着至关重要的角色,它是一系列只读表和视图的集合,用以存储关于数据库结构和配置的重要信息。这些信息对于数据库管理员(DBA...
FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...
FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...
FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
- **BCNF(Bird-Chen Normal Form)**:进一步消除非主属性对候选键的依赖。 - **第四范式(4NF)**:消除多值依赖。 - **第五范式(5NF)**:又称为投影-连接范式,确保分解后的表仍然保持原有的数据关系。 #### 六、...
受PostgREST API服务器中查询字符串方法的影响很大,此模块将根据查询字符串创建SQL WHERE子句谓词。 使用PostgREST,查询字符串可以处理几乎所有的数据库过滤。 例如,要过滤数据库,查询字符串可能类似于以下内容...
T-SQL,语句大全,涵盖了T-SQL的常用的语法,还有实例解释,非常不错的..........
5. 自定义安装路径,可以选择默认设置或者指定一个合适的文件夹。 6. 确定安装组件,如需要可以勾选创建桌面快捷方式。 7. 点击“下一步”并等待安装进度完成。 8. 安装完成后,启动FirebirdMaestro,可能需要配置...
3. **参数化报表**:Birt允许设置报表参数,使得用户在运行时能够自定义输入条件,根据这些条件动态生成报表。例如,用户可以选择特定日期范围或过滤条件,报表会据此筛选出相应数据。 4. **图表生成**:Birt提供...
在BIRT中,可以创建SQL查询数据集或脚本数据集。对于复杂的交叉表,通常会用到SQL查询数据集,因为它允许我们灵活地选择和组合数据。 进入交叉报表的设计阶段,BIRT提供了直观的CrossTab Editor。在这个编辑器中,...
- `SAVEPOINT`:用于设置事务中的保存点,以便可以在之后的某个时间点回滚到该保存点。 #### 2. 字符串处理与单引号使用技巧 - **处理多个单引号**: - 当在 SQL 语句中出现多个连续的单引号时,可以使用两个单...
在数据库上执行sql表达式并显示结果 通过csv格式的文件导入和导出数据 浏览表和视图的内容,看着他们在输入数据时不断增长 在浏览表时选择要删除和编辑的数据 插入,删除,显示Blob字段的内容 播放数据库元数据,...
- **应用场景**:在处理动态构建的字符串时非常有用,尤其是在 Web 开发和日志记录等场景中。 - **示例**: ```java StringBuffer buf = new StringBuffer("Beijing2008"); buf.insert(7, "@"); System.out....