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