`
soundycui
  • 浏览: 85307 次
  • 性别: 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连接数据库 四、更新字段注释 五、显示字段注释 六、更新表注释 七、查询所有的表和视图(包括系统表和系统视图) 八、查询所有的用户表...

    自然语言到SQL的曙光:我们准备好了吗?

    然而,这引发了一个关键问题: 我们是否已准备好在生产环境中部署nl2sql模型? 为了解决这些问题,我们提出了一个多角度的nl2sql评估框架, NL2SQL360 , 以帮助研究人员设计和测试新的nl2sql方法。通过 NL2SQL360 ,...

    Text2SQL_语义解析数据集、解决方案、paper资源整合项目_NL2SQL.zip

    Text2SQL_语义解析数据集、解决方案、paper资源整合项目_NL2SQL

    SQL-o1:一种用于Text-to-SQL的自奖励启发式动态搜索方法

    广泛的实验表明,SQL-o1在复杂的Bird数据集上的执行准确率比最新的基线方法提高了10.8%,甚至超过了基于GPT-4的方法。此外,SQL-o1在少量样本学习场景中表现出色,并且具有强大的跨模型迁移能力。

    OpenSearch-SQL:通过动态少样本和一致性对齐增强Text-to-SQL

    实验结果表明,OpenSearch-SQL在BIRD开发集上实现了69.3%的执行准确率(EX),在测试集上达到72.28%,奖励有效性评分(R-VES)为69.36%,三项指标均排名第一。这些结果展示了所提方法在有效性和效率方面的全面优势。

    java实现Flappy bird

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

    模式链接的终结?在语言模型时代下的文本到SQL转换

    模式链接是文本到SQL管道中的关键步骤。其目标是在用户查询时检索目标数据库中相关的表和列,而忽略不相关的部分。然而,不完善的模式链接常常会排除生成准确查询所需的列。在这项工作中,我们重新审视了使用最新...

    MCS-SQL:利用多提示和多选题选择进行文本到SQL生成

    近年来,大型语言模型(LLMs)的进步使得基于上下文学习(ICL)的方法在文本到SQL任务中显著优于微调方法。然而,它们在包含复杂模式和查询的基准测试中的表现仍然远低于人类专家的表现,例如BIRD基准测试。本研究...

    Alpha-SQL:使用蒙特卡洛树搜索的零样本Text-to-SQL转换

    随着大型语言模型(LLMs)的发展,诸如CHASE-SQL (Pourreza等,2024) 和XiYan-SQL (高云等,2024) 等方法在BIRD基准测试中取得了新的最先进成果 (李金阳等,2023) 。使用LLMs进行Text-to-SQL可以分为训练方法和零...

    大型语言模型能否作为数据库接口? 一个用于大规模数据库支持的Text-to-SQL基准测试

    为了缓解这一差距,我们提出了 BIRD , 一个针对大规模数据库支持的文本到SQL任务的大规模基准测试,包含 12,751 个文本到SQL对和 95 个数据库,总大小为 33.4 GB , 涵盖 37 个专业领域。我们强调数据库值的重要性,...

    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”。这个版本的更新主要在于新增了...

    CODES :构建开源文本到SQL语言模型

    语言模型在将自然语言问题转换为SQL查询(文本到SQL)任务中表现出色。然而,大多数最先进(SOTA)的方法依赖于强大的但封闭源代码的大规模语言模型(LLM),如ChatGPT和GPT-4,这些模型可能存在架构不清晰、数据...

    DIN-SQL:分解式上下文学习的文本到SQL转换及自校正

    目前,在复杂任务(如Spider数据集上的文本到SQL转换)中,使用大型语言模型(LLMs)的微调模型和提示方法之间存在显著差距。为了提高LLMs在推理过程中的性能,我们研究了将任务分解为较小子任务的有效性。特别是,...

    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?) 投影是一种存储...

    基于背包优化的模式链接用于基于LLM的文本到SQL生成

    从用户查询生成SQL是一个长期存在的挑战,其中初始模式链接的准确性显著影响后续SQL生成的性能。...在Spider和BIRD基准上的大量实验验证了KaSLA可以通过替换其模式链接过程,显著提高SOTA文本到SQL模型的SQL生成性能。

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

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

    flybird-darwin-amd64是MacOS平台 amd64架构的免费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 更加轻量化...

Global site tag (gtag.js) - Google Analytics