2014-12-13 38 views
2

我使用iReport Designer工具創建了一個jrxml文件。它在iReport Designer工具中很好用。現在我正試圖使用​​Java程序編譯該jrxml文件。 MySQL查詢存在於jrxml文件中。我認爲jrxml文件沒問題,因爲它在iReport Designer工具中按預期工作。我的jrxml文件創建一個空的PDF文件

當我運行我的Java程序編譯,生成一個PDF文件的報告與JREmptyDataSource,它會生成一個pdf不填充任何數據,但圖形ANS靜態文本是否有在生成的PDF。我知道沒有數據,因爲我使用了JREmptyDataSource

然後我創建了一個連接到我的數據庫。如果事情沒問題,它應該生成帶有相關數據的PDF文件。不是嗎?

這是我的代碼

try {  

    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/my_db", "root", "123"); 
    System.out.println("INFO: Connected succesfully to the database!"); 

    JasperReport jasperReport = JasperCompileManager.compileReport("J:/reports using iReport tools/installmentListForACustomer.jrxml"); 
    // JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), new JREmptyDataSource()); 
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), c); 
    JasperExportManager.exportReportToPdfFile(jasperPrint, "fromXml.pdf"); 

    System.out.println("INFO: Success!"); 
} catch (Exception e) { 

    System.out.println("EXCEPTION: " + e + " \n"); 
    e.printStackTrace(); 
} 

但問題是,即使它生成一個pdf文件,它包含什麼。甚至沒有靜態文本和圖形。它是完全空白的。

查詢字符串位於jrxml文件中。數據庫連接也是成功的。我無法弄清楚它爲什麼會生成一個空的PDF。

請問您能解釋一下爲什麼它不生成與數據庫相關的pdf文件?

回答

0

有一個報告配置其可以是你的榜樣的問題:

When No Data 

裏,可以指定你的報告應該表現出什麼,當沒有數據可用。這可能是一種解釋(您的查詢可能不起作用),因此不顯示任何內容。

要檢查此項,您可以嘗試輸入When no Data = No Data Section並在報告中添加「無數據」帶。