Wednesday, June 20, 2012

Membuat Kode Otomatis Sederhana

 Disini saya akan buat kode otomatis sesuai dengan table sql, yang ingin ditampilkan misalkan KB001, KB002, ....., dan seterusnya.

Pertama buat tabel misalkan kita sudah buat database (db_penjualan) dan tinggal membuat databasenya.
Syntak:
CREATE TABLE tb_barang (
kd_brg varchar(5) PRIMARY KEY,
nama_brg varchar(30),
jenis_brg varchar(30)
)

***************
String koneksi="jdbc:mysql://localhost/db_penjualan";
String user="root";
String pass="";
Statement statement;
Connection connection;
private void nourut(){
try{
String sql="select right(kd_brg,2) as no_terakhir from tb_barang";
ResultSet rs=statement.executeQuery(sql);
if (rs.first()==false)
{
txtno_urut.setText("KB001");
}
else
{
rs.last();
int no=rs.getInt(1)+1;
String cno=String.valueOf(no);
int pjg_cno=cno.length();
for (int i = 0; i < 2-pjg_cno; i++)
{
cno="00"+cno;
}
txtno_urut.setText("KB"+ cno);
}
}
catch (Exception DBException)
{
System.err.println("Error ="+ DBException);
}
}

****copy syntax diatas tepat dibawah syntak
public Barang() {
initComponents();
}
*****

kemudian copy syntak dibawah ini pada formWindowOpened
(klik kanan form>event>window>windowOpened)

try
{
Class.forName("com.mysql.jdbc.Driver");
koneksi="jdbc:mysql://localhost/db_penjualan";
connection=DriverManager.getConnection(koneksi,user,pass);
statement=connection.createStatement();
nourut();
}
catch (Exception DBException)
{
JOptionPane.showMessageDialog(this, "koneksi gagal",
"error", JOptionPane.ERROR_MESSAGE);
System.err.println("Error ="+DBException);
}

Silahkan dikembangkan sendiri...^^

Menampilkan Ireport atau Jasper Report

 Perlu diperhatikan :
- Library yang diperlukan untuk report
    1. cglib-2.2.jar
    2. commons-beanutils-1.8.2.jar
    3. commons-collections-3.2.1.jar
    4. commons-digester-1.7.jar
    5. commons-logging-1.1.jar
    6. jasperreports-4.1.3.jar
    7. jxl-2.6.jar
    8. mysql-connector-java-5.1.13-bin.jar
- Yang perlu diimport
    import java.sql.*;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.swing.JRViewer;
    import net.sf.jasperreports.view.JasperViewer;


Syntak yang perlu dituliskan adalah

try {
            Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/<KETERANGAN 1>",
            "root",
            "");
        String reportName=System.getProperty("user.dir") + "/src/<KETERANGAN 2>.jasper";
            HashMap parameter = new HashMap();
            File reportFile = new File(reportName);
            JasperReport jReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
            JasperPrint jPrint = JasperFillManager.fillReport(jReport, parameter, connection);
            JasperViewer.viewReport(jPrint, false);
            JasperViewer.setDefaultLookAndFeelDecorated(true);
        } catch (Exception ex) {
            System.out.println(ex);
        }
KETERANGAN :
<KETERANGAN 1> = Diisi dengan nama database tanpa simbol < >
<KETERANGAN 2> = Diisi dengan nama ireportnya/jaspernya dan jangan lupa letak ireportnya
contoh nama report (LaporanNilai)
- jika ireport tidak berada didalam package, maka letaknya "/src/LaporanNilai.jasper"
- jika ireport berada didalam package (program.laporan.view), maka simbol titik(.) diganti dengan simbol (/),
sehingga menjadi "/src/program/laporan/view/LaporanNilai.jasper"

selesai...

Followers