`
soundycui
  • 浏览: 84313 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Birt动态设置sql中的?

阅读更多
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语句

    fire bird常用sql语句 一、分页写法小例: 二、显示表名和表结构 三、使用ISQL连接数据库 四、更新字段注释 五、显示字段注释 六、更新表注释 七、查询所有的表和视图(包括系统表和系统视图) 八、查询所有的用户表...

    java实现Flappy bird

    在Java中实现Flappy Bird涉及以下关键知识点: 1. **Java GUI编程**:Flappy Bird游戏的界面通常是使用Java的Swing或JavaFX库构建的。这些库提供了创建窗口、按钮、图像和动画的工具。开发者需要了解如何使用这些...

    flybird-windows-arm64.exe window平台arm64架构免费数据库MySQL管理软件

    FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...

    蛋蛋助手v1.50+DOscan+Bird

    本文将深入探讨“蛋蛋助手v1.50”、“DOscan”以及“Bird”这三款工具的功能特性及其在实际工作中的应用,帮助读者更好地理解和利用这些工具。 首先,让我们关注“蛋蛋助手v1.50”。这个版本的更新主要在于新增了...

    elephant-bird-core-4.6rc1.zip

    Elephant Bird项目提供了对LZO压缩数据的支持,包括Hadoop MapReduce任务中的输入和输出格式,使得数据在存储和传输过程中可以保持较小的体积,从而提高系统性能。 二、Protocol Buffers Google Protocol Buffers是...

    Projections in ClickHouse PPT--Amos Bird

    ClickHouse 中的投影(Projections)是一种优化查询执行的技术,由 Amos Bird 在 ClickHouse PPT 中详细介绍。下面是 ClickHouse 中投影的相关知识点: 一、什么是投影(What is a Projection?) 投影是一种存储...

    Oracle数据字典和动态性能视图

    ### Oracle数据字典和动态性能视图 #### 1. 数据字典概述 数据字典在Oracle数据库中扮演着至关重要的角色,它是一系列只读表和视图的集合,用以存储关于数据库结构和配置的重要信息。这些信息对于数据库管理员(DBA...

    flybird-darwin-amd64是MacOS平台 amd64架构的免费mysql数据库管理工具

    FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...

    flybird-darwin-arm64是MacOS平台 arm64架构的免费mysql数据库管理工具

    FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...

    flybird-windows-amd64.exe window平台amd64架构免费数据库MySQL管理软件

    FlyBird Database Manager 是一款MySQL管理工具。 推荐度5颗星,非常值的尝试的MySQL管理软件。 优点有: 免安装, 基于浏览器,支持导出Excel, CSV, SQL多种格式数据。 相比navicat dbeaver , workbench 更加轻量化...

    linux c 配合ncurses实现的FlappyBird游戏Text-bird.zip

    数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...

    【精美排版】sql教学导案.doc

    - **BCNF(Bird-Chen Normal Form)**:进一步消除非主属性对候选键的依赖。 - **第四范式(4NF)**:消除多值依赖。 - **第五范式(5NF)**:又称为投影-连接范式,确保分解后的表仍然保持原有的数据关系。 #### 六、...

    sqlqs:一组实用程序函数,用于将QueryString转换为SQL where子句

    受PostgREST API服务器中查询字符串方法的影响很大,此模块将根据查询字符串创建SQL WHERE子句谓词。 使用PostgREST,查询字符串可以处理几乎所有的数据库过滤。 例如,要过滤数据库,查询字符串可能类似于以下内容...

    T-SQL语法语句大全

    T-SQL,语句大全,涵盖了T-SQL的常用的语法,还有实例解释,非常不错的..........

    FirebirdMaestro(火鸟数据库可视化工具)

    5. 自定义安装路径,可以选择默认设置或者指定一个合适的文件夹。 6. 确定安装组件,如需要可以勾选创建桌面快捷方式。 7. 点击“下一步”并等待安装进度完成。 8. 安装完成后,启动FirebirdMaestro,可能需要配置...

    Birt Report View 报表

    3. **参数化报表**:Birt允许设置报表参数,使得用户在运行时能够自定义输入条件,根据这些条件动态生成报表。例如,用户可以选择特定日期范围或过滤条件,报表会据此筛选出相应数据。 4. **图表生成**:Birt提供...

    BIRT交叉报表的制作全过程

    在BIRT中,可以创建SQL查询数据集或脚本数据集。对于复杂的交叉表,通常会用到SQL查询数据集,因为它允许我们灵活地选择和组合数据。 进入交叉报表的设计阶段,BIRT提供了直观的CrossTab Editor。在这个编辑器中,...

    oracle-database-11g-plsql-编程实战笔记.doc

    - `SAVEPOINT`:用于设置事务中的保存点,以便可以在之后的某个时间点回滚到该保存点。 #### 2. 字符串处理与单引号使用技巧 - **处理多个单引号**: - 当在 SQL 语句中出现多个连续的单引号时,可以使用两个单...

    firebirdwebadmin:FirebirdWebAdmin是使用PHP编写的Firebird SQL数据库服务器的Web前端

    在数据库上执行sql表达式并显示结果 通过csv格式的文件导入和导出数据 浏览表和视图的内容,看着他们在输入数据时不断增长 在浏览表时选择要删除和编辑的数据 插入,删除,显示Blob字段的内容 播放数据库元数据,...

    2021-2022计算机二级等级考试试题及答案No.2466.docx

    - **应用场景**:在处理动态构建的字符串时非常有用,尤其是在 Web 开发和日志记录等场景中。 - **示例**: ```java StringBuffer buf = new StringBuffer("Beijing2008"); buf.insert(7, "@"); System.out....

Global site tag (gtag.js) - Google Analytics