/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * main.java
 *
 * Created on Apr 13, 2010, 10:00:23 AM
 */

package xmlinverter;


import com.mysql.jdbc.ResultSet;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.xml.stream.events.StartElement;



import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;

/**
 *
 * @author hero
 */
public class mainProgram extends javax.swing.JFrame {
 private dlgKoneksi d1 ;
 public database db;
 public settingData sd;


 JFileChooser fc;
 Vector<Vector> rowData5      = new Vector<Vector>();
 //tabel untuk menampung create XML
 DefaultTableModel model5 = new DefaultTableModel();
 JTable table5 = new JTable();


 //nama atruibut tabel
String namaAtribut1="";
String namaAtribut2="";
int brsTable5;

private int jumBaris_TQ;
private int jumBrsTableQuery;
private int jumlahKolom;//kolom untuk menampilkan file XML yang dibaca
private int jumBaris;//jumlah baris dari file XML yang dibaca

private String namaTabel;//nama tabel yang akan ditambah data dari file XML
private String queryConvert;
private int urutan;
String dataQuery[][]=new String[50][2];
private String dataXML[][]=new String[300][100];
private String kode[]=new String[100];
DefaultTableModel mdlSettingQuery = new DefaultTableModel();
JTable tblSettingQuery = new JTable(mdlSettingQuery);

//Panel1-Setting Query
private String SQtabel1=null;
private String SQas1=null;
private String SQfield1=null;
private String SQas2=null;
private int SQbaris;
private int SQjmlBaris;


//Panel2-Read Database
private String queryRD=null;
private String fileNameRD=null;
private String descRF=null;
private String path="";
private String pathRoot="";

public boolean statusConnect=false;
private int noInstansi;
private int noLaporan;
private String tahun;

private String host;
private int pilihanDB;
private String database;
private String user;
private String password;


/*
       Area1.setText("\n Host                 ="+server);
       Area1.append("\n Jenis Database server ="+pilihanDB);
       Area1.append("\n Nama database         ="+database);
       Area1.append("\n user                  ="+user);
       Area1.append("\n password              ="+password);
 */


    /** Creates new form main */
    public mainProgram() throws SQLException {
         initComponents();
         //settingData sd=new settingData();
         sd = new settingData();
         sd.setDataAwal();
         d1 = new dlgKoneksi(this,true);
         //d2 = new dlgUploadServer(this,true);
         //d3 = new dlgEditSQ(this,true);
         //d4 = new dlgEditQuery(this,true);
        
  
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")

    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        Report = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        jLabel5 = new javax.swing.JLabel();
        jScrollPane7 = new javax.swing.JScrollPane();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        spXML = new javax.swing.JScrollPane();
        cbSaveAll = new javax.swing.JCheckBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        Area1 = new javax.swing.JTextArea();
        comboTahun = new javax.swing.JComboBox();
        jLabel1 = new javax.swing.JLabel();
        comboInstansi1 = new javax.swing.JComboBox();
        jPanel4 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        jScrollPane10 = new javax.swing.JScrollPane();
        jScrollPane11 = new javax.swing.JScrollPane();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jScrollPane12 = new javax.swing.JScrollPane();
        jComboBox1 = new javax.swing.JComboBox();
        jLabel4 = new javax.swing.JLabel();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        jPanel8 = new javax.swing.JPanel();
        jLabel14 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jButton2 = new javax.swing.JButton();
        jScrollPane3 = new javax.swing.JScrollPane();
        Area3 = new javax.swing.JTextArea();
        jComboBox2 = new javax.swing.JComboBox();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        mnConnect = new javax.swing.JMenuItem();
        mnDisconect = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("XML INVERTER"); // NOI18N

        Report.setFont(new java.awt.Font("Tahoma", 0, 10));
        Report.setName("Report"); // NOI18N

        jPanel1.setBackground(new java.awt.Color(204, 204, 255));
        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jPanel1.setEnabled(false);
        jPanel1.setName("jPanel1"); // NOI18N

        jScrollPane6.setName("jScrollPane6"); // NOI18N

        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel5.setText("Read  XML");
        jLabel5.setName("jLabel5"); // NOI18N

        jScrollPane7.setName("jScrollPane7"); // NOI18N

        jButton3.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton3.setText(">> Database");
        jButton3.setName("jButton3"); // NOI18N
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ActionConvertDatabase(evt);
            }
        });

        jButton4.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton4.setText("List XML");
        jButton4.setName("jButton4"); // NOI18N
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        spXML.setName("spXML"); // NOI18N

        cbSaveAll.setBackground(new java.awt.Color(204, 204, 255));
        cbSaveAll.setFont(new java.awt.Font("Tahoma", 0, 10));
        cbSaveAll.setText("Save All File ");
        cbSaveAll.setName("cbSaveAll"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        Area1.setColumns(20);
        Area1.setRows(5);
        Area1.setName("Area1"); // NOI18N
        jScrollPane1.setViewportView(Area1);

        comboTahun.setFont(new java.awt.Font("Tahoma", 0, 10));
        comboTahun.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "2010", "2009", "2008", "2007", "2006", "2005", "2004", "2003", "2002", "2001", " " }));
        comboTahun.setName("comboTahun"); // NOI18N

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel1.setText("Report");
        jLabel1.setName("jLabel1"); // NOI18N

        comboInstansi1.setFont(new java.awt.Font("Tahoma", 0, 10));
        comboInstansi1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Adminduk", "Depkes", "BPS", "Bappenas" }));
        comboInstansi1.setName("comboInstansi1"); // NOI18N
        comboInstansi1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                comboInstansi1ItemStateChanged(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 866, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(spXML, javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 488, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(26, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(comboTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButton4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(cbSaveAll)
                        .addContainerGap(542, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel5)
                        .addGap(26, 26, 26)
                        .addComponent(comboInstansi1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(comboInstansi1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(9, 9, 9)
                .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 213, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(comboTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton4)
                    .addComponent(jButton3)
                    .addComponent(cbSaveAll)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
                    .addComponent(spXML, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE))
                .addGap(42, 42, 42))
        );

        Report.addTab("Read XML", jPanel1);

        jPanel4.setBackground(new java.awt.Color(204, 204, 255));
        jPanel4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jPanel4.setName("jPanel4"); // NOI18N

        jPanel5.setBackground(new java.awt.Color(255, 204, 204));
        jPanel5.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jPanel5.setName("jPanel5"); // NOI18N

        jScrollPane10.setName("jScrollPane10"); // NOI18N

        jScrollPane11.setName("jScrollPane11"); // NOI18N

        jLabel7.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel7.setText("Source Data");
        jLabel7.setName("jLabel7"); // NOI18N

        jLabel8.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel8.setText("Type Report");
        jLabel8.setName("jLabel8"); // NOI18N

        jButton1.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton1.setText("Refresh");
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel7)
                    .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel8)
                    .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 572, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(jLabel8))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)
                    .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton1)
                .addGap(11, 11, 11))
        );

        jScrollPane12.setName("jScrollPane12"); // NOI18N

        jComboBox1.setFont(new java.awt.Font("Tahoma", 0, 10));
        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "All", "Nangroe Aceh Darussalam", "Sumatera Utara" }));
        jComboBox1.setName("jComboBox1"); // NOI18N

        jLabel4.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel4.setText("Propinsi");
        jLabel4.setName("jLabel4"); // NOI18N

        jButton5.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton5.setText("Show");
        jButton5.setName("jButton5"); // NOI18N

        jButton6.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton6.setText("Graphic");
        jButton6.setName("jButton6"); // NOI18N

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(jLabel4)
                        .addGap(70, 70, 70)
                        .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton6))
                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane12))
                .addGap(19, 19, 19))
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton6)
                    .addComponent(jButton5)
                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(74, Short.MAX_VALUE))
        );

        Report.addTab("Report", jPanel4);

        jPanel8.setBackground(new java.awt.Color(204, 204, 255));
        jPanel8.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jPanel8.setName("jPanel8"); // NOI18N

        jLabel14.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel14.setText("Instance of Web Service's");
        jLabel14.setName("jLabel14"); // NOI18N

        jLabel15.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel15.setText("List of method web service's");
        jLabel15.setName("jLabel15"); // NOI18N

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Boolean.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jTable1.setName("jTable1"); // NOI18N
        jScrollPane2.setViewportView(jTable1);

        jButton2.setText("Test");
        jButton2.setName("jButton2"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                testingWebService(evt);
            }
        });

        jScrollPane3.setName("jScrollPane3"); // NOI18N

        Area3.setColumns(20);
        Area3.setRows(5);
        Area3.setName("Area3"); // NOI18N
        jScrollPane3.setViewportView(Area3);

        jComboBox2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Adminduk", "Dep Kesehatan", "BPS", "Bappenas" }));
        jComboBox2.setName("jComboBox2"); // NOI18N

        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
        jPanel8.setLayout(jPanel8Layout);
        jPanel8Layout.setHorizontalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 856, Short.MAX_VALUE)
                    .addGroup(jPanel8Layout.createSequentialGroup()
                        .addComponent(jLabel14)
                        .addGap(53, 53, 53)
                        .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jButton2)
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 334, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel15))
                .addContainerGap())
        );
        jPanel8Layout.setVerticalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel14)
                    .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(jLabel15)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(163, Short.MAX_VALUE))
        );

        Report.addTab("Web Service", jPanel8);

        jMenuBar1.setFont(new java.awt.Font("Segoe UI", 0, 10));
        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText("File");
        jMenu1.setFont(new java.awt.Font("Segoe UI", 0, 10));
        jMenu1.setName("jMenu1"); // NOI18N

        mnConnect.setFont(new java.awt.Font("Segoe UI", 0, 10));
        mnConnect.setText("Connection");
        mnConnect.setName("mnConnect"); // NOI18N
        mnConnect.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnConnectActionPerformed(evt);
            }
        });
        jMenu1.add(mnConnect);

        mnDisconect.setFont(new java.awt.Font("Segoe UI", 0, 10));
        mnDisconect.setText("Disconnect");
        mnDisconect.setEnabled(false);
        mnDisconect.setName("mnDisconect"); // NOI18N
        mnDisconect.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnDisconectActionPerformed(evt);
            }
        });
        jMenu1.add(mnDisconect);

        jMenuItem1.setFont(new java.awt.Font("Segoe UI", 0, 10));
        jMenuItem1.setText("Setting Upload Server");
        jMenuItem1.setName("jMenuItem1"); // NOI18N
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuItem2.setFont(new java.awt.Font("Segoe UI", 0, 10));
        jMenuItem2.setText("Exit");
        jMenuItem2.setName("jMenuItem2"); // NOI18N
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Help");
        jMenu2.setFont(new java.awt.Font("Segoe UI", 0, 10));
        jMenu2.setName("jMenu2"); // NOI18N
        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Report, javax.swing.GroupLayout.DEFAULT_SIZE, 883, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Report, javax.swing.GroupLayout.DEFAULT_SIZE, 522, Short.MAX_VALUE)
                .addGap(22, 22, 22))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
    //setting_awal(urutan,jumKolom,namaTabel)
public void setPath(String path){  this.path=path;}
public String getPath(){ return this.path; }
    
public void setJumlahBaris(int jumlah){ this.jumBaris=jumlah;}
public int getJumlahBaris(){ return this.jumBaris;}

public void setDataXML(int x,int y,String z) {
        //System.out.println("test 5 void setData = "+y);
        this.dataXML[x][y]=z;
        // System.out.println("test 5 = "+data1[x]);
    }
public String getDataXML(int x ,int y) {
               return dataXML[x][y];
        }
    private void mnConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnConnectActionPerformed
        // Menu Koneksi
        d1.setVisible(true);
    }//GEN-LAST:event_mnConnectActionPerformed
    //tabel daftar tabel
    
    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        System.exit(0);
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void mnDisconectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnDisconectActionPerformed
        // mnDisconnect
        db.dbClose();
        statusConnect=false;
        JOptionPane.showMessageDialog(null, "Connection Abort", "Succes",JOptionPane.INFORMATION_MESSAGE);
        mnConnect.setEnabled(true);
        mnDisconect.setEnabled(false);
        stateButton(0);
        
       
  
        //jScrollPane2.repaint();

    }//GEN-LAST:event_mnDisconectActionPerformed
    private void create_xml(String descView, String queryCode,String filename) throws SQLException {
        String kode1[]=new String[200];
        //System.out.println("testing -1="+queryCode);
        //System.out.println("test-4 ="+filename);
        PrintWriter fout=null;
        String path1=this.getPath();
              
        //File file=new File("d:/testing/"+filename+".xml");
        File file=new File(path1+filename+".xml");
         if (!file.exists()&& !file.isFile()){
             System.out.println("File tidak ditemukan");
         }
        try{
         fout = new PrintWriter(new FileWriter(file));        
          java.sql.ResultSet rs1 = db.getResult(descView);
          int i=1;
          if (rs1 != null) {
                while (rs1.next()) {
                    //mendapatkan judul kolom view tabel
                    kode1[i]=rs1.getString(1);
                    //System.out.println("kode -"+Integer.toString(i)+" = "+kode1[i]);
                    i++;
                }
            }
         //awal memasukkan data
        try {
            java.sql.ResultSet rs = db.getResult(queryCode);
            fout.println("<?xml version='1.0' encoding='UTF-8'?>");
            fout.println("<data>");
            if (rs != null) {
                while (rs.next()) {
                    fout.println("<row>");
                    for(int a=1;a<i;a++){//mendapatkan data view untuk ditulis ke file.xml
                      fout.println("<"+kode1[a]+">"+rs.getString(a)+"</"+kode1[a]+">");
                      if(a==1){
                          //System.out.println("tahun ="+rs.getString(a).toString());
                      }
                    }
                    fout.println("</row>");
                    

                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }



         //akhir memasukkan data
         fout.println("</data>");
         fout.flush();
        }
        catch(IOException e){
          fout.close();
        }
         


    }
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        // TODO add your handling code here:
        //d2.setVisible(true);
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
       showListXml();
}//GEN-LAST:event_jButton4ActionPerformed

    private void showListXml(){
        //String lokasi="D:/testing/";
        this.tahun=comboTahun.getSelectedItem().toString();
        String path1=this.getPath()+comboTahun.getSelectedItem().toString()+"/";
        Area1.setText(path1);
        String namaFile="";
        //File folder = new File("D:/testing/")
        File folder = new File(path1);
        File[] listOfFiles = folder.listFiles();

        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        for (int i = 0; i < listOfFiles.length; i++) {
            if (listOfFiles[i].isFile()) {
                //System.out.println("File " + listOfFiles[i].getName());
                Vector<String> rowOne = new Vector<String>();
                rowOne.addElement(listOfFiles[i].getName());
                rowData.addElement(rowOne);
                namaFile=path+listOfFiles[i].getName();
            } else if (listOfFiles[i].isDirectory()) {
                System.out.println("Directory " + listOfFiles[i].getName());
            }
        }


        columnNames.addElement(" Nama File XML ");
        final JTable tableXml = new JTable(rowData, columnNames);
        spXML.getViewport().add(tableXml, null);
        jumBaris_TQ=tableXml.getRowCount();


       tableXml.addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=tableXml.getSelectedRow();
            //namaAtribut1=(String) table_query1.getValueAt(x,0);
            String namaFile=(String) tableXml.getValueAt(x,0);
            System.out.println(namaFile);
            showXML2(namaFile);
        }
    }); //mengatur lebar kolom



    }
    private void showXML2(String namaFile){
        //String pathFile=this.path+namaFile;

        //String lokasi=this.getPath();
        //String pathFile=lokasi+namaFile;
        //settingData sd=new settingData();
        sd.setDataAwal();

        int noLap=sd.getNoLaporan2(noInstansi, namaFile);
        this.noLaporan=noLap;
        int noInst=this.noInstansi;
        System.out.println("showXML2="+namaFile);
        //int noLap=1;
        int jumlahKolom2=sd.getJumlahKolom2(noInstansi, noLap);
        System.out.println("showXML2#namaFile="+namaFile+"#Instansi="+this.noInstansi+"#no Laporan="+noLap+"#"+namaFile+"#"+jumlahKolom2);


        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        try {
            this.readConfig2(namaFile, noInst, noLap, jumlahKolom2);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        } catch (XMLStreamException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }

    // System.out.println("Jum Baris="+Integer.toString(jumBaris)+"& jum kolom ="+Integer.toString(jumKolom));
        for(int x=1;x<=jumBaris;x++){
            Vector<String> rowOne = new Vector<String>();
            for(int y=1;y<=jumlahKolom2;y++){
                String st =this.getDataXML(x,y);
                //String st="test";
                 getDataXML(x,y);
                //System.out.println("test 8 "+Integer.toString(x)+"-"+Integer.toString(y)+"= "+st);
                rowOne.addElement(st);
            }
            rowData.addElement(rowOne);
        }
        for(int i=1;i<=jumlahKolom2;i++){
            //System.out.println(i+"-"+adm.getJudul(urutan1, i));
            columnNames.addElement(sd.getJudulKolom2(noInstansi, noLap, i));
            //columnNames.addElement(sd.getJudulKolom2(noInstansi, noLap,i ));
        }
        JTable table1 = new JTable(rowData, columnNames);
        jScrollPane7.getViewport().add(table1, null);

}
    private void convertToDatabase2(int noInstansi,int noLaporan,int jumlahBaris, int jumlahKolom2){
    Area1.append("\n"+noInstansi+"#"+noLaporan+"#"+jumlahBaris+"#"+jumlahKolom2);
    String tahun1=this.tahun;
    boolean update=false;
    String s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,sql,sql1,sql2,namaTable1;
    int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,a10=0,a11=0,a12=0,a13=0,a14=0,a15=0,a16=0,a17=0,a18=0,a19=0,a20=0;
    int a21=0,a22=0,a23=0,a24=0,a25=0,a26=0,a27=0,a28=0,a29=0,a30=0;
    int a31=0,a32=0,a33=0,a34=0,a35=0,a36=0,a37=0,a38=0,a39=0,a40=0;
    float f1,f2,f3,f4,f5,f6,f7,f8,f9,f10;
    Area1.setText("\nHost ="+this.host);
    Area1.append("\nPilihan DB="+this.pilihanDB);
    Area1.append("\nDatabase ="+this.database);
    Area1.append("\nUser ="+this.user);
    Area1.append("\nPassword ="+this.password);
    //db.koneksi(this.pilihanDB, this.host, this.database, this.user, this.password);
    //(int pilihanDB,String server,String database,String user,String password)
    /*
private String host;
private int pilihanDB;
private String database;
private String user;
private String password;
     */

    //String namaTabel1=sd.getNamaTable2(noInstansi, noLaporan);

    
    switch(noInstansi){
        case    1 : //ADMINDUK
                    switch(noLaporan){
                        case 1:
                               sql="select count(*) from rp1penduduk where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               //dt2=sd.getKodeProp(a);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               sql1="insert into rp1penduduk values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp1penduduk set laki="+a2+",perempuan="+a3+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               System.out.println(sql);
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);                                  
                               }
                               Area1.append("\n finished");
                               break;
                               
                        case 2: System.out.println("insert into rp1umurtunggal");
                               Area1.setText("");
                               sql="select count(*) from rp1umurtunggal where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               //dt2=sd.getKodeProp(a);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));
                               a10=Integer.valueOf(getDataXML(x,11));
                               a11=Integer.valueOf(getDataXML(x,12));
                               a12=Integer.valueOf(getDataXML(x,13));
                               a13=Integer.valueOf(getDataXML(x,14));
                               a14=Integer.valueOf(getDataXML(x,15));
                               a15=Integer.valueOf(getDataXML(x,16));
                               a16=Integer.valueOf(getDataXML(x,17));
                               a17=Integer.valueOf(getDataXML(x,18));

                               sql1="insert into rp1umurtunggal values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+","+a10+","+
                                    a11+","+a12+","+a13+","+a14+","+a15+","+a16+","+a17+")";
                               sql2="update rp1umurtunggal set l0="+a2+",p0="+a3+",l11="+a4+",p11="+a5+",l15="+
                                    a6+",p15="+a7+",l19="+a8+",p19="+a9+",l22="+a10+",p22="+a11+",l26="+
                                    a12+",p26="+a13+",l30="+a14+",p30="+a15+",l33="+a16+",p33="+a17+" "+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 3: System.out.println("insert into rp1kelumur");
                               sql="select count(*) from rp1kelumur where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               //dt2=sd.getKodeProp(a);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               /*
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));
                               a10=Integer.valueOf(getDataXML(x,11));
                               a11=Integer.valueOf(getDataXML(x,12));
                               a12=Integer.valueOf(getDataXML(x,13));
                               a13=Integer.valueOf(getDataXML(x,14));
                               a14=Integer.valueOf(getDataXML(x,15));
                               a15=Integer.valueOf(getDataXML(x,16));
                               a16=Integer.valueOf(getDataXML(x,17));
                               a17=Integer.valueOf(getDataXML(x,18));
                               a18=Integer.valueOf(getDataXML(x,19));
                               a19=Integer.valueOf(getDataXML(x,20));
                               a20=Integer.valueOf(getDataXML(x,21));
                               a21=Integer.valueOf(getDataXML(x,22));
                               a22=Integer.valueOf(getDataXML(x,23));
                               a23=Integer.valueOf(getDataXML(x,24));
                               a24=Integer.valueOf(getDataXML(x,25));
                               a25=Integer.valueOf(getDataXML(x,26));
                               a26=Integer.valueOf(getDataXML(x,27));
                               a27=Integer.valueOf(getDataXML(x,28));
                               a28=Integer.valueOf(getDataXML(x,29));
                               a29=Integer.valueOf(getDataXML(x,30));
                               a30=Integer.valueOf(getDataXML(x,31));
                               a31=Integer.valueOf(getDataXML(x,32));
                               a32=Integer.valueOf(getDataXML(x,33));
                               a33=Integer.valueOf(getDataXML(x,34));

                               sql1="insert into rp1kelumur values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+","+a10+","+
                                    a11+","+a12+","+a13+","+a14+","+a15+","+a16+","+a17+","+a18+","+
                                    a19+","+a20+","+a21+","+a22+","+a23+","+a24+","+a25+","+a26+","+
                                    a27+","+a28+","+a29+","+a30+","+a31+")";

                               sql2="update rp1kelumur set lu1="+a2+",pu1="+a3+",lu2="+a4+",pu2="+a5+",lu3="+
                                    a6+",pu3="+a7+",lu4="+a8+",pu4="+a9+",lu5="+a10+",pu5="+a11+",lu6="+
                                    a12+",pu6="+a13+",lu7="+a14+",pu7="+a15+",lu8="+a16+",pu8="+a17+"lu9="+
                                    a18+",pu9="+a19+",lu10="+a20+",pu10="+a21+",lu11="+a22+",pu11="+a23+"lu12="+
                                    a24+",pu12="+a25+",lu13="+a26+",pu13="+a27+",lu14="+a28+",pu14="+a29+"lu15="+
                                    a30+",pu15="+a31+",lu16="+a32+",p16="+a33+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               */
                               sql1="insert into rp1kelumur values('"+s1+"',"+a1+","+a2+","+a3+","+a4+","+a5+")";
                               sql2="update rp1kelumur set lu1="+a2+",pu1="+a3+",lu2="+a4+",pu2="+a5+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                                break;

                        case 4:
                               sql="select count(*) from rp1kawin where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               //dt2=sd.getKodeProp(a);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));
                                                              
                               sql1="insert into rp1kawin values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+")";
                               sql2="update rp1kawin set lblm="+a2+",pblm="+a3+",lch="+a4+",pch="+a5+",lcm="+
                                    a6+",pcm="+a7+",lkwn="+a8+",pkwn="+a9+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");                        
                               break;

                        case 5:
                               sql="select count(*) from rp1statuswn where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);                               
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               sql1="insert into rp1statuswn values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp1statuswn set lwni="+a2+",pwni="+a3+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 6:
                               sql="select count(*) from rp1darah where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);                               
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));

                               sql1="insert into rp1darah values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+")";
                               sql2="update rp1darah set la="+a2+",pa="+a3+",lb="+a4+",pb="+a5+",lab="+
                                    a6+",pab="+a7+",lo="+a8+",po="+a9+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");                  
                               break;

                        case 7:
                               sql="select count(*) from rp1keluarga where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));                               
                               sql1="insert into rp1keluarga values('"+s1+"',"+a1+","+a2+")";
                               sql2="update rp1keluarga set klrga="+a2+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 8:
                               System.out.println("insert into rp1agama");
                               Area1.setText("");
                               sql="select count(*) from rp1agama where year(thn)="+tahun1;

                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));
                               a10=Integer.valueOf(getDataXML(x,11));
                               a11=Integer.valueOf(getDataXML(x,12));                               

                               sql1="insert into rp1agama values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+","+a10+","+a11+")";
                               sql2="update rp1agama set lislam="+a2+",pislam="+a3+",lkristen="+a4+",pkristen="+
                                    a5+",lprotestan="+a6+",pprotestan="+a7+",lhindu="+a8+",phindu="+
                                    a9+",lbudha="+a10+",pbudha="+a11+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                              

                        case 9:
                               System.out.println("insert into rp1jnspkrjaan");
                               Area1.setText("");
                               sql="select count(*) from rp1jnspkrjaan where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               //s1=getDataXML(x,1);
                               //s1=s1+"-01-01";
                               s1="2010-01-01";
                               s2=getDataXML(x,1);
                               a1=db.getInteger1("select no from setup_jnspkrjaan where jns='"+s2+"'");
                               a2=Integer.valueOf(getDataXML(x,2));
                               a3=Integer.valueOf(getDataXML(x,3));

                               sql1="insert into rp1jnspkrjaan values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp1jnspkrjaan set laki="+a2+",prmpan="+a3+
                                    " where year(thn)='"+tahun1+"' and jnsPkrjaan="+a1;
                               //update rp1jnsPkrjaan set laki=1, prmpan=2 where year(thn)='2010' and jnsPkrjaan=1
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               //db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 10:
                               System.out.println("insert into rp1umrsklah");
                               Area1.setText("");
                               sql="select count(*) from rp1umrsklah where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));

                               sql1="insert into rp1umrsklah values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+")";
                               sql2="update rp1umrsklah set lk1="+a2+",pk1="+a3+",lk2="+a4+",pk2="+
                                    a5+",lk3="+a6+",pk3="+a7+",lk4="+a8+",pk4="+a9+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;


                              

                        case 11: System.out.println("insert into rp1pddktinggi");
                               sql="select count(*) from rp1pddktinggi where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);                               
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));
                               a7=Integer.valueOf(getDataXML(x,8));
                               a8=Integer.valueOf(getDataXML(x,9));
                               a9=Integer.valueOf(getDataXML(x,10));
                               a10=Integer.valueOf(getDataXML(x,11));
                               a11=Integer.valueOf(getDataXML(x,12));
                               a12=Integer.valueOf(getDataXML(x,13));
                               a13=Integer.valueOf(getDataXML(x,14));
                               a14=Integer.valueOf(getDataXML(x,15));
                               a15=Integer.valueOf(getDataXML(x,16));
                               a16=Integer.valueOf(getDataXML(x,17));
                               a17=Integer.valueOf(getDataXML(x,18));
                               a18=Integer.valueOf(getDataXML(x,19));
                               a19=Integer.valueOf(getDataXML(x,20));
                               a20=Integer.valueOf(getDataXML(x,21));
                               a21=Integer.valueOf(getDataXML(x,22));


                               sql1="insert into rp1pddktinggi values('"+s1+"',"+a1+","+a2+","+
                                    a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+","+a10+","+
                                    a11+","+a12+","+a13+","+a14+","+a15+","+a16+","+a17+","+a18+","+
                                    a19+","+a20+","+a21+")";

                               sql2="update rp1pddktinggi set ltbs="+a2+",ptbs="+a3+",lbts="+a4+",pbts="+a5+
                                    ",lsd="+a6+",psd="+a7+",lsltp="+a8+",psltp="+a9+",lslta="+a10+",pslta="+a11+",ld12="+
                                    a12+",pd12="+a13+",ld3="+a14+",pd3="+a15+",ls1="+a16+",ps1="+a17+",ls2="+
                                    a18+",ps2="+a19+",ls3="+a20+",ps3="+a21+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                                break;


                        case 12:
                               System.out.println("insert into rp1cacat");
                               Area1.setText("");
                               sql="select count(*) from rp1cacat where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               a1=db.getInteger1("select no from setup_cacat where cacat='"+s2+"'");
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));

                               sql1="insert into rp1cacat values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp1cacat set laki="+a2+",prmpuan="+a3+
                                    //" where year(thn)='"+tahun1+"' and cacat="+a1;
                                     " where cacat="+a1;
                               //update rp1jnsPkrjaan set laki=1, prmpan=2 where year(thn)='2010' and jnsPkrjaan=1
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;


                        case 13:  System.out.println("insert into rp1lhrkasar");
                               Area1.setText("");
                               sql="select count(*) from rp1lhrkasar where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);                               
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               f1=Float.valueOf(getDataXML(x,5));

                               sql1="insert into rp1lhrkasar values('"+s1+"',"+a1+","+a2+","+a3+","+f1+")";
                               sql2="update rp1lhrkasar set lhr="+a2+",pdd ="+a3+",cbr="+f1+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;                                   
                               
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;


                        case 14:System.out.println("insert into rp1lhrakte");
                               Area1.setText("");
                               sql="select count(*) from rp1lhrakte where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               f1=Float.valueOf(getDataXML(x,5));

                               sql1="insert into rp1lhrakte values('"+s1+"',"+a1+","+a2+","+a3+","+f1+")";
                               sql2="update rp1lhrakte set lhr="+a2+",akt ="+a3+",prs="+f1+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 15:System.out.println("insert into rp1demografi");
                               Area1.setText("");
                               sql="select count(*) from rp1demografi where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));

                               sql1="insert into rp1demografi values('"+s1+"',"+a1+","+a2+","+a3+","+a4+","+a5+")";
                               sql2="update rp1demografi set lhr="+a2+",mt ="+a3+",pdh="+a4+",dtg="+a5+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 16:System.out.println("insert into rp1kwnakte");
                               Area1.setText("");
                               sql="select count(*) from rp1kwnakte where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               f1=Float.valueOf(getDataXML(x,5));

                               sql1="insert into rp1kwnakte values('"+s1+"',"+a1+","+a2+","+a3+","+f1+")";
                               sql2="update rp1kwnakte set kwn="+a2+",akta ="+a3+",prs="+f1+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;


                        case 17:System.out.println("insert into rp1ktp");
                               Area1.setText("");
                               sql="select count(*) from rp1ktp where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));

                               sql1="insert into rp1ktp values('"+s1+"',"+a1+","+a2+","+a3+","+a4+")";
                               sql2="update rp1ktp set a="+a2+",b ="+a3+",ktp="+a4+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 18:System.out.println("insert into rp1kk");
                               Area1.setText("");
                               sql="select count(*) from rp1kk where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               //jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));

                               sql1="insert into rp1kk values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp1kk set kk="+a2+",akte ="+a3+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\n finished");
                               break;

                        case 19:System.out.println("insert into rp1dokumen");
                               Area1.setText("");
                               sql="select count(*) from rp1dokumen where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));

                               sql1="insert into rp1dokumen values('"+s1+"',"+a1+","+a2+","+a3+","+a4+","+a5+","+a6+")";
                               sql2="update rp1dokumen set al="+a2+",ktp ="+a3+",ak="+a4+",kk="+a5+",mati="+a6+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 20:System.out.println("insert into rp1pmlcacat");
                               Area1.setText("");
                               sql="select count(*) from rp1pmlcacat where year(thn)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               sql="select no_prop from setup_prop where nama_prop='"+s2+"'";
                               a1=db.getInteger1(sql);
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               a4=Integer.valueOf(getDataXML(x,5));
                               a5=Integer.valueOf(getDataXML(x,6));
                               a6=Integer.valueOf(getDataXML(x,7));                     
                               sql1="insert into rp1pmlcacat values('"+s1+"',"+a1+","+a2+","+a3+","+a4+","+a5+","+a6+","+a6+")";
                               sql2="update rp1pmlcacat set cfsk="+a2+",cntra ="+a3+",crngu="+a4+",cjiwa="+a5+
                                    ",cmental="+a6+",clain="+a6+
                                    " where year(thn)='"+tahun1+"' and pro="+a1;

                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;


                        default:System.out.println("insert into rp1 lainnya");
                                //Area1.append("\ninsert into rp1 lainnya");
                                break;
                    }

                    
                    break;
        case    2 : //DEPKES
                    switch(noLaporan){
                        case 1:System.out.println("rp2bayimatihidup");
                               Area1.setText("");
                               sql="select count(*) from rp2bayimatihidup where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               a1=Integer.valueOf(getDataXML(x,2));
                               a2=Integer.valueOf(getDataXML(x,3));
                               a3=Integer.valueOf(getDataXML(x,4));
                               sql1="insert into rp2bayimatihidup values('"+s1+"',"+a1+","+a2+","+a3+")";
                               sql2="update rp2bayimatihidup set jumlahRS="+a1+",lahirMati ="+a2+",lahirHidup="+a3+
                                    " where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 2:System.out.println("rp2maternalibu");
                               Area1.setText("");
                               sql="select count(*) from rp2maternalibu where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               a1=Integer.valueOf(getDataXML(x,2));
                               a2=Integer.valueOf(getDataXML(x,3));
                               sql1="insert into rp2maternalibu values('"+s1+"',"+a1+","+a2+")";
                               sql2="update rp2maternalibu set matiIbu="+a1+",lahirhidup ="+a2+
                                    " where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 3:System.out.println("rp2matirs");
                               Area1.setText("");
                               sql="select count(*) from rp2matirs where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               a1=Integer.valueOf(getDataXML(x,2));
                               a2=Integer.valueOf(getDataXML(x,3));
                               sql1="insert into rp2matirs values('"+s1+"',"+a1+","+a2+")";
                               sql2="update rp2matirs set keluar="+a1+",mati="+a2+
                                    " where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 4:System.out.println("rp2penyakitutama");
                               Area1.setText("");
                               sql="select count(*) from rp2penyakitutama where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               f1=Float.valueOf(getDataXML(x,2));
                               s2=getDataXML(x,3);
                               s3=getDataXML(x,4);
                               a1=Integer.valueOf(getDataXML(x,5));
                               f2=Float.valueOf(getDataXML(x,6));                               
                               sql1="insert into rp2penyakitutama values('"+s1+"',"+f1+",'"+s2+"','"+s3+"',"+a1+","+f2+")";
                               sql2="update rp2penyakitutama set dtd="+f1+",icd='"+s2+"',sebab='"+s3+"',mati="+a1+
                                    ",prosen="+f2+" where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;



                        case 5: System.out.println("rp2penyakitrj");
                               Area1.setText("");
                               sql="select count(*) from rp2penyakitrj where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               f1=Float.valueOf(getDataXML(x,2));
                               s2=getDataXML(x,3);                               
                               a1=Integer.valueOf(getDataXML(x,4));
                               f2=Float.valueOf(getDataXML(x,5));
                               sql1="insert into rp2penyakitrj values('"+s1+"',"+f1+",'"+s2+"',"+a1+","+f2+")";
                               sql2="update rp2penyakitrj set dtd="+f1+",sebab='"+s2+"',kunjungan="+a1+
                                    ",prosen="+f2+" where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;


                        case 6: System.out.println("rp2penyakitri");
                               Area1.setText("");
                               sql="select count(*) from rp2penyakitri where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               f1=Float.valueOf(getDataXML(x,2));
                               s2=getDataXML(x,3);
                               s3=getDataXML(x,4);
                               a1=Integer.valueOf(getDataXML(x,5));
                               f2=Float.valueOf(getDataXML(x,6));
                               sql1="insert into rp2penyakitri values('"+s1+"',"+f1+",'"+s2+"','"+s3+"',"+a1+","+f2+")";
                               sql2="update rp2penyakitri set dtd="+f1+",icd='"+s2+"',sebab='"+s3+"',pasien="+a1+
                                    ",prosen="+f2+" where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;

                        case 7: System.out.println("rp2ragampenyakit");
                               Area1.setText("");
                               sql="select count(*) from rp2ragampenyakit where year(tahun)="+tahun1;
                               if(db.getInteger1(sql)!=0){update=true;}//jika data telah ada atau(!=0)
                               System.out.println(sql);
                               jumBaris=1;
                               for(int x=1;x<=jumBaris;x++){
                               s1=getDataXML(x,1);
                               s1=s1+"-01-01";
                               s2=getDataXML(x,2);
                               a1=Integer.valueOf(getDataXML(x,3));
                               sql1="insert into rp2ragampenyakit values('"+s1+"','"+s2+"',"+a1+")";
                               sql2="update rp2ragamPenyakit set penyakit='"+s2+"',jumlah="+a1+
                                    " where year(tahun)="+tahun1;
                               if(update==true){sql=sql2;}else {sql=sql1;}
                               db.setUpdate(sql);
                               Area1.append("\n"+sql);
                               System.out.println(sql);
                               }
                               Area1.append("\nfinished");
                               break;
                        default:break;
                    }

                    System.out.println("insert into DEPKES");
                    break;
        case    3 : //BPS
                    switch(noLaporan){
                        case 1: break;
                        case 2: break;
                        default:break;
                    }


                    System.out.println("insert into BPS");
                    break;
        case    4 : //BAPPENAS
                    switch(noLaporan){
                        case 1: break;
                        case 2: break;
                        default:break;
                    }


                    System.out.println("insert into BAPPENAS");
                    break;

    }
    
 //if((x-1)==y) {JOptionPane.showMessageDialog(null, "Tranfer "+namaFile+"Complete ", "Succes",JOptionPane.INFORMATION_MESSAGE); }
}


    private void ActionConvertDatabase(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ActionConvertDatabase
    Area1.setText("\nHost ="+this.host);
    Area1.append("\nPilihan DB="+this.pilihanDB);
    Area1.append("\nDatabase ="+this.database);
    Area1.append("\nUser ="+this.user);
    Area1.append("\nPassword ="+this.password);
    db.koneksi(this.pilihanDB, this.host, this.database, this.user, this.password);
    

        String namaFile="";
        Area1.setText(">>Database "+this.noInstansi+"#"+this.noLaporan);
        if(cbSaveAll.isSelected()){
         String path1=this.getPath()+comboTahun.getSelectedItem().toString()+"/";
         File folder = new File(path1);
         File[] listOfFiles = folder.listFiles();
         int jumlahFile=listOfFiles.length;
         Area1.setText("convert All ="+jumlahFile+" file");
         //jumlahFile=1;
         for (int i = 0; i < jumlahFile; i++) {
            if (listOfFiles[i].isFile()) {                                       
                namaFile=listOfFiles[i].getName();
                this.noLaporan=sd.getNoLaporan2(this.noInstansi,namaFile);
                this.jumlahKolom=sd.getJumlahKolom2(this.noInstansi, this.noLaporan);
                    try {
                        readConfig2(namaFile, this.noInstansi, this.noLaporan, this.jumlahKolom);
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (XMLStreamException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                    }
                Area1.append("\nnamaFile="+namaFile+"-instansi="+this.noInstansi+"-noLaporan="+this.noLaporan+"-jumlahBaris="+this.jumBaris+"-jumlahKolom"+this.jumlahKolom);
                convertToDatabase2(this.noInstansi,this.noLaporan,this.jumBaris,this.jumlahKolom);
            } else if (listOfFiles[i].isDirectory()) {
                System.out.println("Directory " + listOfFiles[i].getName());
            }
        }
        } else {
        convertToDatabase2(this.noInstansi,this.noLaporan,this.jumBaris,this.jumlahKolom);
        }

    }//GEN-LAST:event_ActionConvertDatabase

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // Refresh tabel daftar report
          if(statusConnect==false){
           JOptionPane.showMessageDialog(null, "Connect Database First ", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
        } else {
          showReport();
          //JOptionPane.showMessageDialog(null, "Show Report", "Succes",JOptionPane.INFORMATION_MESSAGE);
        }
    }//GEN-LAST:event_jButton1ActionPerformed

    private void comboInstansi1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_comboInstansi1ItemStateChanged
        this.noInstansi=comboInstansi1.getSelectedIndex()+1;
        switch (noInstansi) {
             case 1: //this.setPath("D:/testing/adminduk/");
                     this.setPath(pathRoot+"adminduk/");
                     break;
             case 2: //this.setPath("D:/testing/depkes/");
                     this.setPath(pathRoot+"depkes/");
                     break;
             case 3: //this.setPath("D:/testing/bps/");
                     this.setPath(pathRoot+"bps/");
                     break;
             case 4: //this.setPath("D:/testing/bappenas/");
                     this.setPath(pathRoot+"bappenas/");
                     break;
             default: break;
         }
        System.out.println(this.noInstansi+"##"+this.path);
    }//GEN-LAST:event_comboInstansi1ItemStateChanged

    private void testingWebService(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_testingWebService

      
    }//GEN-LAST:event_testingWebService
 



    public void updateQS(int baris, String[] update1){
     System.out.println(update1[0]+"-"+update1[1]+"-"+update1[2]+"-"+update1[3]);
     tblSettingQuery.setValueAt(update1[0], SQbaris, 0);
     tblSettingQuery.setValueAt(update1[1], SQbaris, 1);
     tblSettingQuery.setValueAt(update1[2], SQbaris, 2);
     tblSettingQuery.setValueAt(update1[3], SQbaris, 3);
    }

    public void updateRDQuery(String query, String fileName, String description){
        //menerima update tabel query
        System.out.println(query);
        System.out.println(fileName);
        System.out.println(description);
    }

    @SuppressWarnings("empty-statement")
    private int getInteger(String sql) throws SQLException{
       int output=0;
       java.sql.ResultSet rs1 = db.getResult(sql);
          int i=1;
          if (rs1 != null) {
                while (rs1.next()) {
                    output=Integer.parseInt(rs1.getString(1));;
                }
            }
       System.out.println(output);
       return output;
    }


    private String getString(String sql) throws SQLException{
       String output="test";
       java.sql.ResultSet rs1 = db.getResult(sql);
          int i=1;
          if (rs1 != null) {
                while (rs1.next()) {
                    output=rs1.getString(1);
                }
            }
       System.out.println(output);
       return output;
    }

public ResultSet getResult(String sql){
       java.sql.ResultSet rs1 = db.getResult(sql);
       return (ResultSet) rs1;
    }
private void readConfig2(String namaFile,int noInst,int noLap,int jumlahKolom2)
        throws FileNotFoundException, XMLStreamException {
 String path1=this.getPath(); 
 String tahun1=comboTahun.getSelectedItem().toString();
 String pathFile=path1+tahun1+"/"+namaFile;
 System.out.println("readConfig2; pathFile="+pathFile);
 //settingData sd=new settingData();
 //sd.setDataAwal();
 //int urutan1=sd.getUrutan(namaFile);
 //int jumKolom1=sd.getJumlahKolom(urutan1);
 System.out.println("namaFile="+namaFile+"#"+noInst+"#"+noLap+"#"+jumlahKolom2);
 //System.out.println("RC-2 urutan="+urutan1+" kolom ="+jumKolom1+" namaFile"+namaFile);
 
 XMLInputFactory inputFactory = XMLInputFactory.newInstance();
 InputStream in = new FileInputStream(pathFile);
 XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
 //for(int y=1;y<=jumKolom1;y++){ System.out.println(adm.getJudul(urutan1, y)); }
//hero1
 int x1=0;
    while (eventReader.hasNext()) {
     XMLEvent event = eventReader.nextEvent();
	if (event.isStartElement()) {
	StartElement startElement = event.asStartElement();
        //tambahan
        //String judul=startElement.getName().getLocalPart();
          for(int y=1;y<=jumlahKolom2;y++){
              //looping x1
	  if (event.isStartElement()) {
              if (event.asStartElement().getName().getLocalPart().equals(sd.getJudulKolom2(noInst,noLap, y))) {//kode[y]
                        //System.out.println("RC2-judul = "+sd.getJudul(urutan1, y));
                        if(y==1){x1++;}
			event = eventReader.nextEvent();
                        String z=event.asCharacters().getData().toString();
                        //System.out.println("test 6 ="+Integer.toString(x1)+"-"+Integer.toString(y)+"= "+z);
		        this.setDataXML(x1,y, z);
                        // System.out.println("test 7 get data ="+Integer.toString(x1)+"-"+Integer.toString(y)+"= "+this.getDataXML(x1,y));
			//continue;
	           }
	      }
          }
  	}
		}//akhir

 this.setJumlahBaris(x1);
 jumBaris=x1;
 this.jumlahKolom=jumlahKolom2;
 //System.out.println("test 5a- jumlah Baris ="+Integer.toString(jumBaris));
 

 }



    public void hasilKoneksi(String path,int noInst,String server,String database,String user, String password,int pilihanDB){
               ////hasilKoneksi(path,noInstansi,server,database,user,password,pilihan);
       Area1.setText("\n Host                 ="+server);
       Area1.append("\n Jenis Database server ="+pilihanDB);
       Area1.append("\n Nama database         ="+database);
       Area1.append("\n user                  ="+user);
       Area1.append("\n password              ="+password);
       this.host=server;
       this.pilihanDB=pilihanDB;
       this.database=database;
       this.user=user;
       this.password=password;
       

       db=new database();
        // public int koneksi(String path,int pilihan,String dbase,String database,String user,String password)

        if (db.koneksi(pilihanDB,server,database,user,password)==1) {
            JOptionPane.showMessageDialog(null, "Database Connected ", "Succes",JOptionPane.INFORMATION_MESSAGE);
         System.out.println("Koneksi SUKSES ");
         this.noInstansi=noInst+1;
         System.out.println("noInstansi="+this.noInstansi);
         this.pathRoot=path;
         switch (noInstansi) {             
             case 1: //this.setPath("D:/testing/adminduk/");
                     this.setPath(path+"adminduk/");
                     break;
             case 2: //this.setPath("D:/testing/depkes/");
                     this.setPath(path+"depkes/");
                     break;
             case 3: //this.setPath("D:/testing/bps/");
                     this.setPath(path+"bps/");
                     break;
             case 4: //this.setPath("D:/testing/bappenas/");
                     this.setPath(path+"bappenas/");
                     break;
             default: break;
         }
         System.out.println("path="+this.path);
         statusConnect=true;
         mnConnect.setEnabled(false);
         mnDisconect.setEnabled(true);
         switch (pilihanDB) {
            case 0:  System.out.println("MySQL");
                     //showTableMYSQL();
                     //showQuery2();
                     //showReport();
                     break;
            default: System.out.println("Invalid Pilihan");break;
        }
       }else {
       JOptionPane.showMessageDialog(null, "Not Connected ", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
       }
       stateButton(1);
       

    }
  private void stateButton(int jenis){
    /*     switch (jenis) {
            case 0 : System.out.println("jenis=0-properties mati");
                     //tab 1 Setting Query
                     cTableName.removeAllItems();
                     cFieldName.removeAllItems();
                     bInsert.setEnabled(false);
                     bEdit.setEnabled(false);
                     bDelete.setEnabled(false);
                     bNewQuery.setEnabled(false);
                     bCreateQuery.setEnabled(false);
                     bClear.setEnabled(false);
                     bRun.setEnabled(false);
                     bSave.setEnabled(false);
                     bRefresh.setEnabled(false);
                     txtFrom.setEnabled(false);
                     txtWhere.setEnabled(false);

                     //tab2 Convert from database
                     bRefresh2.setEnabled(false);
                     bRun2.setEnabled(false);
                     txtTahun.setEnabled(false);
                     txtTahun.setEnabled(false);
                     
                     break;
            case 1 : System.out.println("jenis=1-properties hidup");
                     //tab 1 Setting Query
                     bInsert.setEnabled(true);
                     bEdit.setEnabled(true);
                     bDelete.setEnabled(true);
                     bNewQuery.setEnabled(true);
                     bCreateQuery.setEnabled(true);
                     bClear.setEnabled(true);
                     bRun.setEnabled(true);
                     bSave.setEnabled(true);
                     bRefresh.setEnabled(true);
                     txtFrom.setEnabled(true);
                     txtWhere.setEnabled(true);
                    
                     //tab2 Convert from database
                     bRefresh2.setEnabled(true);
                     bRun2.setEnabled(true);
                     txtTahun.setEnabled(true);
                     txtTahun.setEnabled(true);

                     break;
            default: System.out.println("Invalid jenis");
                     break;
        }
     */
}
    private void showTableMYSQL(){
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

        try {
            String sql = "show tables";
            java.sql.ResultSet rs = db.getResult(sql);
            if (rs != null) {
                while (rs.next()) {
                    //System.out.println(rs.getString(1));
                    Vector<String> rowOne = new Vector<String>();
                    rowOne.addElement(rs.getString(1));
                    rowData.addElement(rowOne);
                }
                
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }

        //tblDaftar.setModel(null);
        columnNames.addElement("Nama Tabel");
        final JTable table2 = new JTable(rowData, columnNames);
        //jScrollPane2.getViewport().add(table2, null);

        /*table2.addMouseListener(new java.awt.event.MouseAdapter() {
         @Override
         public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=table2.getSelectedRow();
            String namaTabel=(String) table2.getValueAt(x,0);
            showAtributMYSQL(namaTabel);
            }
          } );*/

    }
    private void showAtributMYSQL(String namaTabel){
        System.out.println("nama tabel ="+namaTabel );
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

        try {
            String sql = "select * from "+namaTabel;
            java.sql.ResultSet rs = db.getResult(sql);
            if (rs != null) {
                while (rs.next()) {
                    //System.out.println(rs.getString(1));
                    Vector<String> rowOne = new Vector<String>();
                    rowOne.addElement(rs.getString(1));
                    rowOne.addElement(rs.getString(2));
                    rowData.addElement(rowOne);
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }

        
        columnNames.addElement("Kode");
        columnNames.addElement("Nama");
        final JTable table3 = new JTable(rowData, columnNames);
       // jScrollPane3.getViewport().add(table3, null);


        table3.addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=table3.getSelectedRow();
            namaAtribut1=(String) table3.getValueAt(x,0);
            namaAtribut2=(String) table3.getValueAt(x,1);
            System.out.println("Atribut="+namaAtribut1+"-"+namaAtribut2);
            }
          } );
    }



    private void setRDQuery(String query, String fileName, String desc){
        this.queryRD=query;
        this.fileNameRD=fileName;
        this.descRF=desc;
    }
    private void showReport(){
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        try {
            String sql = "select * from rpmsinstansi";
            java.sql.ResultSet rs = db.getResult(sql);
            int i=0;
            if (rs != null) {
                while (rs.next()) {                    
                    Vector<String> rowOne = new Vector<String>();
                    rowOne.addElement(rs.getString(1));
                    rowOne.addElement(rs.getString(2));                    
                    rowData.addElement(rowOne);
                    i++;
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }
        columnNames.addElement("Kode");
        columnNames.addElement("Nama Instansi");


        final JTable table10 = new JTable(rowData, columnNames);
        jScrollPane10.getViewport().add(table10, null);
        jumBaris_TQ=table10.getRowCount();


       table10.addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=table10.getSelectedRow();
            //namaAtribut1=(String) table_query1.getValueAt(x,0);
            String kode=(String) table10.getValueAt(x,0);
            System.out.println(kode);
            show_table11(kode);
        }
    }); //mengatur lebar kolom
    }

   private void show_table11(String instansi){
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        try {
            String sql = "select urutan,tabel,query from rpreport where instansi='"+instansi+"';";
            java.sql.ResultSet rs = db.getResult(sql);
            int i=0;
            if (rs != null) {
                while (rs.next()) {
                    Vector<String> rowOne = new Vector<String>();
                    rowOne.addElement(rs.getString(1));
                    rowOne.addElement(rs.getString(2));
                    rowOne.addElement(rs.getString(3));                    
                    rowData.addElement(rowOne);
                    i++;
                }
            }
        } catch (SQLException ex) { Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);  }
        columnNames.addElement("Urutan");
        columnNames.addElement("Tabel");
        columnNames.addElement("Query");
        final JTable table11 = new JTable(rowData, columnNames);
        jScrollPane11.getViewport().add(table11, null);

     table11.addMouseListener(new java.awt.event.MouseAdapter() { @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=table11.getSelectedRow();
            String u=(String) table11.getValueAt(x,0);
            String nmTabel=table11.getValueAt(x,1).toString();
            String query=table11.getValueAt(x,2).toString();
            System.out.println("test-11="+u);
            int urut=Integer.valueOf(u);
                try {
                    show_table12(urut,nmTabel,query);
                } catch (SQLException ex) {
                    Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                }
        }   }    );
    }


private void show_table12(int urut,String nmTabel,String sql) throws SQLException{
/*
settingData sd=new settingData();
sd.setDataAwal();
int urutan1=urut;
int jumKolom1=sd.getJumlahKolom(urutan1);


   Vector<String> columnNames  = new Vector<String>();
   Vector<Vector> rowData      = new Vector<Vector>();
   System.out.println("Show table 12-"+jumKolom1);
   //String sql = this.getQuery(urut);
   //String sql="select * from "+nmTabel;
   //settingKolom(urut);
   System.out.println("testing:"+sql);
        try {   
            java.sql.ResultSet rs = db.getResult(sql);
            int i=0;
            if (rs != null) {
                while (rs.next()) {
                    Vector<String> rowOne = new Vector<String>();
                     for(int j=1;j<=jumKolom1;j++){
                       rowOne.addElement(rs.getString(j));
                     }
                    rowData.addElement(rowOne);
                    i++;
                }
            }
        } catch (SQLException ex) { Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);  }
  
  for(int i=1;i<=jumKolom1;i++){
            //System.out.println(i+"-"+adm.getJudul(urutan1, i));
            columnNames.addElement(sd.getJudul(urutan1, i));
  }
      

   final JTable table12 = new JTable(rowData, columnNames);
   jScrollPane12.getViewport().add(table12, null);
 */
}

 
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    new mainProgram().setVisible(true);
                } catch (SQLException ex) {
                    Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea Area1;
    private javax.swing.JTextArea Area3;
    private javax.swing.JTabbedPane Report;
    private javax.swing.JCheckBox cbSaveAll;
    private javax.swing.JComboBox comboInstansi1;
    private javax.swing.JComboBox comboTahun;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JComboBox jComboBox2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane12;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JTable jTable1;
    private javax.swing.JMenuItem mnConnect;
    private javax.swing.JMenuItem mnDisconect;
    private javax.swing.JScrollPane spXML;
    // End of variables declaration//GEN-END:variables

}
