3 Kasım 2011 Perşembe

Jasperreport ile raporlama örneği

MySQL ile raporlama java uygulaması.

Bu örnek için projeye aşağıdaki jarlar eklenmelidir.
https://rapidshare.com/files/826483124/jasperLib.rar

Raporun düzenlemesi i-report ile yapılmıştır.
Baglan, Frame isminde iki class ile oluşmakta.

Projenin dosyası aşağıdaki linkde yer almakta.
https://rapidshare.com/files/1538633838/Raporlama.rar?bin=1

//Baglan.java

import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;

public class Baglan {
private  Connection con = null;

public  Connection getCon() throws  InstantiationException, IllegalAccessException {
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Sürücü Bulunamadı!","Hata",JOptionPane.ERROR_MESSAGE);
System.err.print("Sürücü bulunamadi");
System.err.println(e.getMessage());
}
try{
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbismi","root","123456");1
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "Bağlantı Kurulamadı!","Hata",JOptionPane.ERROR_MESSAGE);
e.getMessage();
System.exit(0);
}
return (con);
}
}

//Frame.java


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;

public class Frame extends JFrame {

public static Connection con=null;
public static ResultSet rs;
public static Baglan baglan=new Baglan();

public Frame() {
getContentPane().setLayout(null);

JButton btnNewButton = new JButton("Raporla");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String reportFile = "c:\\reports\\report1.jrxml";

       runReport(reportFile);
}
});
btnNewButton.setBounds(10, 50, 91, 23);
getContentPane().add(btnNewButton);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
Frame frm = new Frame();
frm.setBounds(100, 100, 200, 200);
frm.setVisible(true);
}

public static void runReport(String reportFile) {
   try {
       JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
       JasperReport jasperReport = JasperCompileManager
               .compileReport(jasperDesign);
     
       rs = null;
con=baglan.getCon();
 Statement stmt=con.createStatement();
 String sql="SELECT T_ADI FROM TABLE";

 rs=stmt.executeQuery(sql);
     
       JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);

       String lsQuery="asd";

       Map parameters = new HashMap();
       parameters.put("strQry", lsQuery);
     
       JasperPrint jasperPrint = JasperFillManager.fillReport(
               jasperReport, parameters, resultSetDataSource);
       JasperViewer.viewReport(jasperPrint, false);
   } catch (Exception e) {
    JOptionPane.showMessageDialog(null, "Rapor Bulunamadı...");
       e.printStackTrace();
   }
}
}

Hiç yorum yok:

Yorum Gönder