Guest User

Untitled

a guest
Apr 26th, 2012
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. package myPackage;
  2.  
  3. import java.io.InputStream;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.Statement;
  7. import java.util.HashMap;
  8. import javax.swing.JFrame;
  9. import javax.swing.JOptionPane;
  10. import net.sf.jasperreports.engine.JRResultSetDataSource;
  11. import net.sf.jasperreports.engine.JasperFillManager;
  12. import net.sf.jasperreports.engine.JasperPrint;
  13. import net.sf.jasperreports.view.JasperViewer;
  14.  
  15. public class MyReport {
  16.  
  17. private Connection getConnection() {
  18. try {
  19. Class.forName("org.postgresql.Driver");
  20. return DriverManager.getConnection("jdbc:postgresql://localhost:5432/my_db", "postgres", "123456789");
  21. } catch (Exception ex) {
  22. ex.printStackTrace();
  23. return null;
  24. }
  25. }
  26.  
  27. private StringBuffer getSQL() {
  28. StringBuffer sql = new StringBuffer();
  29. sql.append("select *");
  30. sql.append(" from sample_table");
  31. //
  32. return sql;
  33. }
  34.  
  35. public void showReport() {
  36. try {
  37. String reportName = "path/to/my_report.jasper";
  38. //
  39. StringBuffer sql;
  40. sql = getSQL();
  41. String wsql = " where";
  42.  
  43. // a filter
  44. if (myCombo.getSelectedIndex() > -1) {
  45. sql.append(wsql).append(" some_field = '").append(myCombo.getSelectedItem().toString()).append("'");
  46. wsql = " and";
  47. }
  48.  
  49. // another filter
  50. if (myTextField.getText().trim().length() > 0) {
  51. sql.append(wsql).append(" some_other_field = '").append(myTextField.getText()).append("'");
  52. }
  53.  
  54. // SQL ending
  55. sql.append(" order by another_field");
  56.  
  57. Connection connection = getConnection();
  58. Statement stmt = connection.createStatement();
  59. Hashmap parameters = new HashMap(); //set the report parameters here
  60. JRResultSetDataSource jrrs = new JRResultSetDataSource(stmt.executeQuery(sql.toString()));
  61. InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
  62. JasperPrint jasperPrint = JasperFillManager.fillReport(is, parameters, jrrs);
  63. if (jasperPrint.getPages().size() > 0) {
  64. JasperViewer jv = new JasperViewer(jasperPrint, false);
  65. jv.setTitle("My Report");
  66. jv.setExtendedState(JFrame.MAXIMIZED_BOTH);
  67. jv.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);
  68. jv.setVisible(true);
  69. } else {
  70. JOptionPane.showMessageDialog(this, "Some message to show when the SQL returns nothing.");
  71. }
  72.  
  73. } catch (Exception ex) {
  74. ex.printStackTrace();
  75. }
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment