如何向 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" 并且我的查询不为空。
谢谢
除了来自 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" 并且我的查询不为空。
谢谢