我们可以在dataSet的Script页面中修改sql。Birt的这种机制使得我们可以通过传入不同的参数从而拼接出不同的sql语句,极大地方便了我们的使用。但有时后我们不知道拼接后的sql是不是我们想要的,这时如果能得到真正执行的sql命令就显得尤为重要了。这里写出我知道的一种方法,可能还有别的更方便的方法,只是现在还不知道,等以后知道了再补上来。
在beforeOpen的界面写入如下的代码:
importPackage(Packages.java.io)
out = new PrintWriter(new FileWriter("C:/User/debuginfo.txt", true))
out.println( this.queryText)
out.close()
这样,当显示完最红的图表后,便会在C盘User目录下生成一个debuginfo.txt的文件,里面记录了在这个过程中真正执行的sql代码。注意:在C:/User下一定要有写的权限,否则会因为没有写权限而报错。
上面代码的原理很简单,在此不再赘述。