2014-12-13 4 views
2

Я создал файл jrxml с помощью инструмента iReport Designer. Он отлично работает в инструменте iReport Designer. Теперь я пытаюсь скомпилировать этот файл jrxml с помощью программы Java. Запрос MySQL есть в файле jrxml. Я думаю, что файл jrxml в порядке, так как он работает так, как ожидалось, в инструменте iReport Designer.Мой jrxml-файл создает пустой файл PDF

Когда я запускаю мою Java программу для компиляции и генераций PDF файла отчета с JREmptyDataSource, он генерирует pdf без каких-либо данных, заполненных, но графические анс статических текстов есть в созданном 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 

Вы specifiy, что может ваш отчет должен показать, когда имеется никаких данных. Это может быть одно объяснение (ваш запрос может не работать), и поэтому ничего не отображается.

Чтобы проверить это, вы можете попробовать ввести When no Data = No Data Section и добавить группу «Нет данных» в свой отчет.

Смежные вопросы