如何向 SQL 查询添加参数?

How to add a parameter to a SQL query?

除了来自 Maximo 的参数之外,我还想在 SQL 查询中添加一个动态参数。

类似的东西:

select * 
from workorder a 
where params["where"] or a.parent = :Param

with params["where"] with wonum='1234' and :Param = '1234'

Birt 是否可以获取 winum 值并将其也放入 :Param

或者换一种方式?

谢谢

open就是这样(查询比较复杂所以简化一下):

maximoDataSet = MXReportDataSetProvider.create(this.getDataSource().getName(), this.getName());
maximoDataSet.open();

var sqlText = new String();
sqlText = "select column1, column2 as woParent, etc... from workorder where  " + params["where"] + " or woParent=:param";

maximoDataSet.setQuery(sqlText);

beforeopen是这样的(只是为了看查询):

importPackage( Packages.java.io );
out = new PrintWriter( new FileWriter( "c:/birteaump.log", true ) );
out.println( "\nMy Query: " + this.queryText);
out.close();

我有一些代码可以操纵 :param 以将其替换为 wonum 但 this.queryText 为空。 我是 birt 报告的新手,也许我必须以不同的方式思考才能解决我的问题。

谢谢

我用的是 Birt 3.7.1。我在视频中看到我们可以在数据集的对话框中添加查询。但是在我的报告中,当我使用 "new data set" 按钮时,我只有 "scripted data set"。

我的查询在 "beforeopen" 中是否可能与此有关?

如果我创建另一种数据源,我将可以访问另一种数据集?

谢谢

好的,我解决了我的问题。 我创建了一个 JDBC 数据源,并且可以访问一种新的数据集。 我可以将我的查询放在这个数据集中,我可以访问 "beforeopen" 并且我的查询不为空。

谢谢