/*
 * 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 xmlBuilder;

//import com.mysql.jdbc.ResultSet;
import java.sql.*;
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.swing.table.TableColumn;
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 ;
 private dlgUploadServer d2 ;
 private dlgEditSQ d3;
 private dlgEditQuery d4;
 public database db;// database for mysql
 public databaseOracle dbo; //database for oracle
 public runFtp ftp1;
 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 jumKolom;//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;
private int jumBarisXml; //mengetahui jumlah baris xml pada Panel "setQuery2"

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

public boolean statusConnect=false;
private String path="";
private String userFtp;
private String passwdFtp;
private String serverFtp;
private String dirFtp;
private boolean statusFTP=false;
private boolean statusXmlAll=false;
private int jenisDBServer;



//Versi 3
private int noInstansi;
private int noLaporan;
private String dataXML3[][][]=new String[20][100][50];


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

    /** 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();
        jPanel8 = new javax.swing.JPanel();
        jPanel9 = new javax.swing.JPanel();
        jLabel8 = new javax.swing.JLabel();
        jcFileName2 = new javax.swing.JComboBox();
        jButton1 = new javax.swing.JButton();
        comboTahun = new javax.swing.JComboBox();
        jButton3 = new javax.swing.JButton();
        cbAllXml = new javax.swing.JCheckBox();
        jLabel9 = new javax.swing.JLabel();
        jPanel10 = new javax.swing.JPanel();
        spBacaXML = new javax.swing.JScrollPane();
        jScrollPane11 = new javax.swing.JScrollPane();
        Area1 = new javax.swing.JTextArea();
        jLabel15 = new javax.swing.JLabel();
        jPanel6 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        jScrollPane8 = new javax.swing.JScrollPane();
        bRun2 = new javax.swing.JButton();
        jScrollPane9 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        bRefresh2 = new javax.swing.JButton();
        txtTahun = new javax.swing.JTextField();
        jbEditQuery = new javax.swing.JButton();
        tahun = new javax.swing.JCheckBox();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        jLabel5 = new javax.swing.JLabel();
        jScrollPane7 = new javax.swing.JScrollPane();
        jButton4 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        spXML = new javax.swing.JScrollPane();
        jScrollPane10 = new javax.swing.JScrollPane();
        Area2 = new javax.swing.JTextArea();
        jLabel14 = new javax.swing.JLabel();
        comboTahun2 = new javax.swing.JComboBox();
        progressBar = new javax.swing.JProgressBar();
        jPanel4 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        jcFileName = new javax.swing.JComboBox();
        jLabel7 = new javax.swing.JLabel();
        txtDescription = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        jQuery = new javax.swing.JTextArea();
        jbClear = new javax.swing.JButton();
        jbSave = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        txtFileName = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        bRun = new javax.swing.JButton();
        bSave = new javax.swing.JButton();
        jScrollPane3 = new javax.swing.JScrollPane();
        jScrollPane4 = new javax.swing.JScrollPane();
        areaQuery = new javax.swing.JTextArea();
        bClear = new javax.swing.JButton();
        spSettingQuery = new javax.swing.JScrollPane();
        jPanel7 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        cTableName = new javax.swing.JComboBox();
        jLabel11 = new javax.swing.JLabel();
        as1 = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        cFieldName = new javax.swing.JComboBox();
        jLabel13 = new javax.swing.JLabel();
        as2 = new javax.swing.JTextField();
        bInsert = new javax.swing.JButton();
        bEdit = new javax.swing.JButton();
        bDelete = new javax.swing.JButton();
        bCreateQuery = new javax.swing.JButton();
        bNewQuery = new javax.swing.JButton();
        bRefresh = new javax.swing.JButton();
        txtWhere = new javax.swing.JTextField();
        jLabel16 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        txtFrom = new javax.swing.JTextField();
        cekFrom = new javax.swing.JCheckBox();
        jPanel12 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jScrollPane5 = new javax.swing.JScrollPane();
        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 Builder"); // NOI18N

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

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

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

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

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

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

        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", "2000" }));
        comboTahun.setName("comboTahun"); // NOI18N

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

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

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

        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
        jPanel9.setLayout(jPanel9Layout);
        jPanel9Layout.setHorizontalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel8)
                    .addComponent(jLabel9))
                .addGap(33, 33, 33)
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel9Layout.createSequentialGroup()
                        .addComponent(comboTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(8, 8, 8)
                        .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE))
                    .addComponent(jcFileName2, javax.swing.GroupLayout.PREFERRED_SIZE, 255, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(131, 131, 131)
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cbAllXml))
                .addGap(289, 289, 289))
        );
        jPanel9Layout.setVerticalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(jcFileName2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cbAllXml))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                    .addComponent(jButton3)
                    .addComponent(jLabel9)
                    .addComponent(comboTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addGap(15, 15, 15))
        );

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

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

        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
        jPanel10.setLayout(jPanel10Layout);
        jPanel10Layout.setHorizontalGroup(
            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(spBacaXML, javax.swing.GroupLayout.DEFAULT_SIZE, 867, Short.MAX_VALUE)
        );
        jPanel10Layout.setVerticalGroup(
            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(spBacaXML, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
        );

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

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

        jLabel15.setFont(new java.awt.Font("Tahoma", 1, 10));
        jLabel15.setText("Report");
        jLabel15.setName("jLabel15"); // 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)
                    .addGroup(jPanel8Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jLabel15))
                    .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 869, Short.MAX_VALUE)
                    .addComponent(jPanel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 869, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel8Layout.setVerticalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 8, Short.MAX_VALUE)
                .addComponent(jLabel15)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        Report.addTab("Static Configuration", jPanel8);

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

        jLabel6.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel6.setText("Query Table");
        jLabel6.setName("jLabel6"); // NOI18N

        jScrollPane8.setBorder(new javax.swing.border.MatteBorder(null));
        jScrollPane8.setFont(new java.awt.Font("Tahoma", 0, 10));
        jScrollPane8.setName("jScrollPane8"); // NOI18N

        bRun2.setFont(new java.awt.Font("Tahoma", 0, 10));
        bRun2.setText("Run !!!");
        bRun2.setEnabled(false);
        bRun2.setName("bRun2"); // NOI18N
        bRun2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bRun2ActionPerformed(evt);
            }
        });

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

        jTextArea1.setBackground(new java.awt.Color(255, 255, 204));
        jTextArea1.setColumns(20);
        jTextArea1.setFont(new java.awt.Font("Monospaced", 0, 12));
        jTextArea1.setRows(5);
        jTextArea1.setBorder(new javax.swing.border.MatteBorder(null));
        jTextArea1.setName("jTextArea1"); // NOI18N
        jScrollPane9.setViewportView(jTextArea1);

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

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

        jbEditQuery.setFont(new java.awt.Font("Tahoma", 0, 10));
        jbEditQuery.setText("Edit");
        jbEditQuery.setEnabled(false);
        jbEditQuery.setName("jbEditQuery"); // NOI18N
        jbEditQuery.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbEditQueryActionPerformed(evt);
            }
        });

        tahun.setBackground(new java.awt.Color(204, 255, 204));
        tahun.setFont(new java.awt.Font("Tahoma", 0, 10));
        tahun.setText("Tahun");
        tahun.setName("tahun"); // NOI18N

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jLabel6))
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(bRefresh2, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(tahun)
                        .addGap(14, 14, 14)
                        .addComponent(txtTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bRun2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jbEditQuery))
                    .addGroup(jPanel6Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jScrollPane9)
                            .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 847, Short.MAX_VALUE))))
                .addContainerGap(32, Short.MAX_VALUE))
        );
        jPanel6Layout.setVerticalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel6Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel6)
                .addGap(11, 11, 11)
                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 254, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bRefresh2, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jbEditQuery)
                    .addComponent(bRun2)
                    .addComponent(txtTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(tahun))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
                .addContainerGap())
        );

        Report.addTab("Read Database", jPanel6);

        jPanel1.setBackground(new java.awt.Color(204, 255, 204));
        jPanel1.setBorder(new javax.swing.border.MatteBorder(null));
        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.setBorder(new javax.swing.border.MatteBorder(null));
        jScrollPane7.setName("jScrollPane7"); // NOI18N

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

        jButton2.setFont(new java.awt.Font("Tahoma", 0, 10));
        jButton2.setText("Run Upload File");
        jButton2.setName("jButton2"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        spXML.setBorder(new javax.swing.border.MatteBorder(null));
        spXML.setName("spXML"); // NOI18N
        spXML.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                spXMLMouseClicked(evt);
            }
        });

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

        Area2.setColumns(20);
        Area2.setRows(5);
        Area2.setName("Area2"); // NOI18N
        jScrollPane10.setViewportView(Area2);

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

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

        progressBar.setValue(5);
        progressBar.setName("progressBar"); // NOI18N

        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.TRAILING, false)
                    .addComponent(progressBar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 842, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(comboTahun2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jButton4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jButton2))
                            .addComponent(spXML, javax.swing.GroupLayout.PREFERRED_SIZE, 374, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel14)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 439, Short.MAX_VALUE))
                            .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 473, Short.MAX_VALUE))))
                .addContainerGap(14, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel5)
                .addGap(11, 11, 11)
                .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton4)
                        .addComponent(jButton2)
                        .addComponent(comboTahun2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel14))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane10)
                    .addComponent(spXML, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(progressBar, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE)
                .addContainerGap())
        );

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

        jPanel4.setBackground(new java.awt.Color(204, 255, 204));
        jPanel4.setBorder(new javax.swing.border.MatteBorder(null));
        jPanel4.setName("jPanel4"); // NOI18N

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

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

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

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

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

        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()
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jcFileName, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(51, 51, 51)
                .addComponent(jLabel7)
                .addGap(18, 18, 18)
                .addComponent(txtDescription, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(137, Short.MAX_VALUE))
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(jcFileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtDescription, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

        jQuery.setColumns(20);
        jQuery.setLineWrap(true);
        jQuery.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jQuery.setName("jQuery"); // NOI18N
        jScrollPane1.setViewportView(jQuery);

        jbClear.setFont(new java.awt.Font("Tahoma", 0, 10));
        jbClear.setText("Clear");
        jbClear.setEnabled(false);
        jbClear.setName("jbClear"); // NOI18N

        jbSave.setFont(new java.awt.Font("Tahoma", 0, 10));
        jbSave.setText("Save");
        jbSave.setEnabled(false);
        jbSave.setName("jbSave"); // NOI18N
        jbSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbSaveActionPerformed(evt);
            }
        });

        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)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(jbClear, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jbSave, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
                        .addGap(672, 672, 672))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 869, Short.MAX_VALUE)
                            .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addContainerGap())))
        );
        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)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jbClear)
                    .addComponent(jbSave))
                .addContainerGap(201, Short.MAX_VALUE))
        );

        Report.addTab("Dinamic Configuration", jPanel4);

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

        jPanel3.setBackground(new java.awt.Color(204, 204, 255));
        jPanel3.setBorder(new javax.swing.border.MatteBorder(null));
        jPanel3.setName("jPanel3"); // NOI18N

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

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel2.setText("File Description");
        jLabel2.setName("jLabel2"); // NOI18N

        txtFileName.setText("xpenduduk1");
        txtFileName.setName("txtFileName"); // NOI18N

        jTextField2.setText("distribusi penduduk");
        jTextField2.setName("jTextField2"); // NOI18N

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addComponent(jLabel2))
                .addGap(37, 37, 37)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jTextField2)
                    .addComponent(txtFileName, javax.swing.GroupLayout.DEFAULT_SIZE, 181, Short.MAX_VALUE))
                .addContainerGap(56, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(txtFileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        bRun.setFont(new java.awt.Font("Tahoma", 0, 10));
        bRun.setText("Run ");
        bRun.setEnabled(false);
        bRun.setName("bRun"); // NOI18N
        bRun.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bRunActionPerformed(evt);
            }
        });

        bSave.setFont(new java.awt.Font("Tahoma", 0, 10));
        bSave.setText("Save");
        bSave.setEnabled(false);
        bSave.setName("bSave"); // NOI18N
        bSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bSaveActionPerformed(evt);
            }
        });

        jScrollPane3.setBorder(new javax.swing.border.MatteBorder(null));
        jScrollPane3.setName("jScrollPane3"); // NOI18N

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

        areaQuery.setColumns(20);
        areaQuery.setFont(new java.awt.Font("Tahoma", 0, 12));
        areaQuery.setRows(5);
        areaQuery.setBorder(new javax.swing.border.MatteBorder(null));
        areaQuery.setName("areaQuery"); // NOI18N
        jScrollPane4.setViewportView(areaQuery);

        bClear.setFont(new java.awt.Font("Tahoma", 0, 10));
        bClear.setText("Clear");
        bClear.setEnabled(false);
        bClear.setName("bClear"); // NOI18N
        bClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bClearActionPerformed(evt);
            }
        });

        spSettingQuery.setBorder(new javax.swing.border.MatteBorder(null));
        spSettingQuery.setName("spSettingQuery"); // NOI18N

        jPanel7.setBackground(new java.awt.Color(204, 204, 255));
        jPanel7.setBorder(new javax.swing.border.MatteBorder(null));
        jPanel7.setName("jPanel7"); // NOI18N

        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel3.setText("Table Name");
        jLabel3.setName("jLabel3"); // NOI18N

        cTableName.setFont(new java.awt.Font("Tahoma", 0, 10));
        cTableName.setName("cTableName"); // NOI18N
        cTableName.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cTableNameItemStateChanged(evt);
            }
        });

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

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

        jLabel12.setFont(new java.awt.Font("Tahoma", 0, 10));
        jLabel12.setText("Field Name");
        jLabel12.setName("jLabel12"); // NOI18N

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

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

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

        bInsert.setFont(new java.awt.Font("Tahoma", 0, 10));
        bInsert.setText("Insert");
        bInsert.setEnabled(false);
        bInsert.setName("bInsert"); // NOI18N

        bEdit.setFont(new java.awt.Font("Tahoma", 0, 10));
        bEdit.setText("Edit");
        bEdit.setEnabled(false);
        bEdit.setName("bEdit"); // NOI18N
        bEdit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bEditActionPerformed(evt);
            }
        });

        bDelete.setFont(new java.awt.Font("Tahoma", 0, 10));
        bDelete.setText("Delete");
        bDelete.setEnabled(false);
        bDelete.setName("bDelete"); // NOI18N

        bCreateQuery.setFont(new java.awt.Font("Tahoma", 0, 10));
        bCreateQuery.setText("Create Query");
        bCreateQuery.setEnabled(false);
        bCreateQuery.setName("bCreateQuery"); // NOI18N
        bCreateQuery.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bCreateQueryActionPerformed(evt);
            }
        });

        bNewQuery.setFont(new java.awt.Font("Tahoma", 0, 10));
        bNewQuery.setText("New Query");
        bNewQuery.setEnabled(false);
        bNewQuery.setName("bNewQuery"); // NOI18N
        bNewQuery.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bNewQueryActionPerformed(evt);
            }
        });

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

        txtWhere.setFont(new java.awt.Font("Tahoma", 0, 10));
        txtWhere.setText("p.propinsi=ms.kode");
        txtWhere.setName("txtWhere"); // NOI18N

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

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

        txtFrom.setFont(new java.awt.Font("Tahoma", 0, 10));
        txtFrom.setText("mspropinsi ms");
        txtFrom.setName("txtFrom"); // NOI18N

        cekFrom.setBackground(new java.awt.Color(204, 204, 255));
        cekFrom.setFont(new java.awt.Font("Tahoma", 0, 10));
        cekFrom.setName("cekFrom"); // NOI18N

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel12))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(cFieldName, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(cTableName, 0, 99, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel7Layout.createSequentialGroup()
                                .addComponent(jLabel11)
                                .addGap(18, 18, 18)
                                .addComponent(as1, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel7Layout.createSequentialGroup()
                                .addComponent(jLabel13)
                                .addGap(18, 18, 18)
                                .addComponent(as2))))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel7Layout.createSequentialGroup()
                                .addComponent(bInsert)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(bEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(bNewQuery, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
                                .addComponent(bDelete)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(bRefresh))
                            .addComponent(bCreateQuery, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel16)
                            .addComponent(jLabel17))
                        .addGap(33, 33, 33)
                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel7Layout.createSequentialGroup()
                                .addComponent(txtFrom, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cekFrom))
                            .addComponent(txtWhere))))
                .addContainerGap(53, Short.MAX_VALUE))
        );
        jPanel7Layout.setVerticalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(cTableName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel11)
                    .addComponent(as1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel12)
                    .addComponent(cFieldName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel13)
                    .addComponent(as2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(12, 12, 12)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel17)
                        .addComponent(txtFrom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(cekFrom))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtWhere, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel16))
                .addGap(25, 25, 25)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bInsert, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(bEdit)
                    .addComponent(bDelete)
                    .addComponent(bRefresh))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bNewQuery)
                    .addComponent(bCreateQuery))
                .addContainerGap())
        );

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

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

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

        javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
        jPanel12.setLayout(jPanel12Layout);
        jPanel12Layout.setHorizontalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 483, Short.MAX_VALUE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 483, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel12Layout.setVerticalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jScrollPane4)
                        .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(bClear)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bRun, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bSave, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(spSettingQuery, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(bClear)
                            .addComponent(bRun)
                            .addComponent(bSave))
                        .addGap(11, 11, 11)
                        .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(spSettingQuery, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(17, 17, 17))
        );

        Report.addTab("Query Configuration", jPanel2);

        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("Set FTP 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, 896, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Report, javax.swing.GroupLayout.PREFERRED_SIZE, 553, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
    //setting_awal(urutan,jumKolom,namaTabel)


public void setFTPServer(String server,String user,String password){
    this.serverFtp=server;
    this.userFtp=user;
    this.passwdFtp=password;    
    this.statusFTP=true;
}
public void setPath(String path){  this.path=path;}
public String getPath(){ return this.path; }
public void setDataXML(int x,int y,String z) {   this.dataXML[x][y]=z;   }
public String getDataXML(int x ,int y) { return dataXML[x][y]; }

//Versi
public void setJumBarisXmlSetQuery2(int jumlah){ this.jumBarisXml=jumlah; }
public int getJumBarisXmlSetQuery2(){return this.jumBarisXml;}

//Versi 3
public void setDataXML3(int noInst,int noLap,int urutan, String isi) { this.dataXML3[noInst][noLap][urutan]=isi;   }
public String getDataXML3(int noInst,int noLap ,int urutan)          { return this.dataXML3[noInst][noLap][urutan]; }

    private void mnConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnConnectActionPerformed
        d1.setVisible(true);
    }//GEN-LAST:event_mnConnectActionPerformed
    
    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
        System.out.println("close ="+this.jenisDBServer);
        int p=this.jenisDBServer;
        switch(p){
            case 0 : db.dbClose();
                     break;
            case 1 : dbo.dbClose();
                     break;
            default :JOptionPane.showMessageDialog(null, "Connection Not Abortted", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
                     break;
                     
        }
        
        JOptionPane.showMessageDialog(null, "Connection Abort", "Succes",JOptionPane.INFORMATION_MESSAGE);
        mnConnect.setEnabled(true);
        mnDisconect.setEnabled(false);
        stateButton(0);
        this.statusConnect=false;        
    }//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 bRun2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bRun2ActionPerformed

    if (tahun.isSelected()) {
            //JOptionPane.showMessageDialog(null, "Tahun checked", "Succes",JOptionPane.INFORMATION_MESSAGE);
        int a=0;
        jumBaris_TQ=jumBrsTableQuery;
        for(int i=1;i<=jumBaris_TQ;i++){
            String namaView=dataQuery[i][1];
            System.out.println("test-3 "+namaView);
            db.setQuery(dataQuery[i][0]);//mengcreate view baru
           // JOptionPane.showMessageDialog(null,dataQuery[i][0] , "Succes" ,JOptionPane.INFORMATION_MESSAGE);
            try {
                //menggenerate file xml
                create_xml("desc " + namaView, "select * from " + namaView, dataQuery[i][1]);
            } catch (SQLException ex) {
                Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
            } 
           //db.setQuery("drop view "+namaView);//menghapus view yang ada sebelumnya
        a=i;
       }
        if(a==jumBaris_TQ){
        JOptionPane.showMessageDialog(null, "Create file XML success !!! ", "Succes",JOptionPane.INFORMATION_MESSAGE);
        } else  {
        JOptionPane.showMessageDialog(null, "Less XML file", "Failed",JOptionPane.INFORMATION_MESSAGE);
        }
    }
    else {
        JOptionPane.showMessageDialog(null, "Isi tahunnya dulu !!!", "Succes",JOptionPane.INFORMATION_MESSAGE);
    }
 
}//GEN-LAST:event_bRun2ActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        // browse dir XML
        String lokasi=this.getPath();
        //String tahun1=tTahun.getText();
        String tahun1=comboTahun2.getSelectedItem().toString();
        String path1=this.getPath()+"/"+tahun1+"/";
        System.out.println(lokasi);
        if(lokasi.equalsIgnoreCase("")||(lokasi==null)){
            JOptionPane.showMessageDialog(null, "Set Path First !!!", "Warning!!",JOptionPane.INFORMATION_MESSAGE);
          }else
        {showListXml();} 
         
}//GEN-LAST:event_jButton4ActionPerformed

private void showListXml(){
        //String lokasi="D:/testing/";
        
        //String lokasi=this.getPath();
        //System.out.println("ShowListXml->path ="+lokasi);
        //String tahun1=tTahun.getText();
        String tahun1=comboTahun2.getSelectedItem().toString();
        String lokasi=this.getPath()+"/"+tahun1+"/";

        String namaFile="";
        
        File folder = new File(lokasi);
        File[] listOfFiles = folder.listFiles();

        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        if(listOfFiles.length!=0){
        System.out.println("Jumlah File ="+listOfFiles.length);
        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=lokasi+listOfFiles[i].getName();
            } else if (listOfFiles[i].isDirectory()) {
                System.out.println("Directory " + listOfFiles[i].getName());
            }
        } } else {}


        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 kode=(String) tableXml.getValueAt(x,0);            
            System.out.println("x="+x+"#kode="+kode);
            showXML2(kode);//percobaan

        }
    }); //mengatur lebar kolom


    }

    private void showXML2(String namaFile){
        //settingData sd1=new settingData();
        //sd1.setDataAwal();
        //sd.setDataAwal();
        

        //int urutan1=sd.getUrutanFileName(namaFile);
        //int jumKolom1=sd.getJumlahKolom(urutan1);

        //diganti versi 2
        int noLap=sd.getNoLaporan2(noInstansi, namaFile);
        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);
        //System.out.println(this.path);


        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(jumlahKolom2));
        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 bRunActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bRunActionPerformed
        // RUN setting query
        String sql=areaQuery.getText();
        System.out.println(sql);
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

        try {
            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);
        }

        //tblDaftar.setModel(null);
        for(int i=0;i<SQjmlBaris;i++){
         String kode=tblSettingQuery.getValueAt(i,3).toString();
         columnNames.addElement(kode);
        }
        
        final JTable table3 = new JTable(rowData, columnNames);
        jScrollPane3.getViewport().add(table3, null);
        

    }//GEN-LAST:event_bRunActionPerformed

    private void bSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bSaveActionPerformed
        // Menyimpan ke tabel query
        String q1=areaQuery.getText();
        String namaFile=txtFileName.getText();
        String deskFile=jTextField2.getText();
      if( (namaFile.equalsIgnoreCase(""))||(deskFile.equalsIgnoreCase("")) )
       {
          JOptionPane.showMessageDialog(null, "namaFile || deskFile kosong", "Not Succed",JOptionPane.INFORMATION_MESSAGE);
       }else {
          String sql="insert into query values (\""+q1+"\",\""+namaFile+"\",\""+deskFile+"\")";
          db.setQuery(sql);
          JOptionPane.showMessageDialog(null, "Insert data succed", "Succes",JOptionPane.INFORMATION_MESSAGE);
       }
    }//GEN-LAST:event_bSaveActionPerformed

    private void bClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bClearActionPerformed
        // TODO add your handling code here:
        areaQuery.setText("");
    }//GEN-LAST:event_bClearActionPerformed

    private void bRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bRefreshActionPerformed
        // bRefresh - Panel1
        refreshListTable();   
    }//GEN-LAST:event_bRefreshActionPerformed

    private void refreshListTable(){
       cTableName.removeAllItems();
       try {
            String sql1 = "show tables";
            String sql2 = "select * from tab";
            String sql=null;
            if (this.jenisDBServer==0){sql=sql1;}
            else {sql=sql2;}

            java.sql.ResultSet rs = db.getResult(sql);
            int i=0;
            if (rs != null) {
                while (rs.next()) {
                    cTableName.addItem(rs.getString(1));                    
                    i++;
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }
    }



    private void cTableNameItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cTableNameItemStateChanged
        // -Panel1
        String item=cTableName.getSelectedItem().toString();
        //System.out.println("hero"+item);
        cFieldName.removeAllItems();
         try {
            String sql = "desc "+item;
            java.sql.ResultSet rs = db.getResult(sql);
            int i=0;
            if (rs != null) {
                while (rs.next()) {
                    cFieldName.addItem(rs.getString(1));
                    i++;
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
        }

    }//GEN-LAST:event_cTableNameItemStateChanged

    private void bInsertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bInsertActionPerformed
     // InsertQuery-Panel1
     String Field1=cTableName.getSelectedItem().toString();
     String a1=as1.getText();
     String Atribut=cFieldName.getSelectedItem().toString();
     String a2=as2.getText();
    // tblSettingQuery.

     if (tblSettingQuery.isValid()==false){
     mdlSettingQuery.addColumn("Field");
     mdlSettingQuery.addColumn("As");
     mdlSettingQuery.addColumn("Atribut");
     mdlSettingQuery.addColumn("As");    
     //mdlSettingQuery.addColumn("From");
     mdlSettingQuery.addRow(new Object[]{Field1,a1,Atribut,a2});
     }
     else{ mdlSettingQuery.addRow(new Object[]{Field1,a1,Atribut,a2});  }
     spSettingQuery.getViewport().add(tblSettingQuery, null);

     //editing textFrom
     if(cekFrom.isSelected()){
        String txt=txtFrom.getText();
        txtFrom.setText(txt+", "+Field1+" "+a1);  }
     else {
        //JOptionPane.showMessageDialog(null, "cekFrom tidak dicentang", "Cek List",JOptionPane.INFORMATION_MESSAGE);
     }
     

   tblSettingQuery.addMouseListener(new java.awt.event.MouseAdapter() {
         @Override
         public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=tblSettingQuery.getSelectedRow();
            SQbaris=x;
            SQtabel1=tblSettingQuery.getValueAt(x, 0).toString();
            SQas1=tblSettingQuery.getValueAt(x, 1).toString();
            SQfield1=tblSettingQuery.getValueAt(x, 2).toString();
            SQas2=tblSettingQuery.getValueAt(x, 3).toString();

            System.out.println(x+SQtabel1+SQas1+SQfield1+SQas2);
            }
   } );
    }//GEN-LAST:event_bInsertActionPerformed

    @SuppressWarnings("empty-statement")
    private void bCreateQueryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bCreateQueryActionPerformed
        // Create Query-Panel 1
        int jumlah=tblSettingQuery.getRowCount();
        SQjmlBaris=jumlah;
        String sql2=null;
        System.out.println(jumlah);
        String namaView=txtFileName.getText();
        String sql1="create view "+namaView+" as select\n";
        String text1=null;String text2=null;String text3=null;String text4=null;
        for(int i=0;i<=(jumlah-1);i++){
         text1=tblSettingQuery.getValueAt(i, 0).toString();
         text2=tblSettingQuery.getValueAt(i, 1).toString();
         text3=tblSettingQuery.getValueAt(i, 2).toString();
         text4=tblSettingQuery.getValueAt(i, 3).toString();
        if(i==(jumlah-1))
          {sql2=text2+"."+text3+" as '"+text4+"'\n";}
        else
          {sql2=text2+"."+text3+" as '"+text4+"',\n";}
        sql1=sql1+sql2;
        }
        String sql3="from "+txtFrom.getText()+" \n";
        String sql4="where "+txtWhere.getText();
        areaQuery.append(sql1+sql3+sql4);
    }//GEN-LAST:event_bCreateQueryActionPerformed

    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);
        String sql="update query set kode='"+query+"',desk='"+description+"' where file='"+fileName+"'";
        if(db.setUpdate(sql)==1){
           JOptionPane.showMessageDialog(null, "Update Success", "Succes",JOptionPane.INFORMATION_MESSAGE);
           showQuery2();
        }
    }

    private void bEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bEditActionPerformed
        // TODO add your handling code here:

        d3.setting(SQbaris,SQtabel1,SQas1,SQfield1,SQas2);
        d3.setVisible(true);
    }//GEN-LAST:event_bEditActionPerformed

    private void bRefresh2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bRefresh2ActionPerformed
        // TODO add your handling code here:
        if(statusConnect==false){
           JOptionPane.showMessageDialog(null, "Connect Database First ", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
        } else {
         //JOptionPane.showMessageDialog(null, "Connect Successfully", "Succes",JOptionPane.INFORMATION_MESSAGE);
         showQuery2();
         //jbEditQuery.setEnabled(true);
         //bRun2.setEnabled(true);
        }
    }//GEN-LAST:event_bRefresh2ActionPerformed

    private void jbEditQueryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbEditQueryActionPerformed
        // TODO add your handling code here:
        //d4=dlgEditQuery        
        //this.queryRD=query;
        //this.fileNameRD=fileName;
        //this.descRF=desc;
        d4.setting(this.queryRD, this.fileNameRD, this.descRF);
        d4.setVisible(true);
    }//GEN-LAST:event_jbEditQueryActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        //mengupload file ke Server
        String server=this.serverFtp;
        String user=this.userFtp;
        String password=this.passwdFtp;
        String dir=this.dirFtp+comboTahun2.getSelectedItem().toString()+"/";

        if(!statusFTP)
        { JOptionPane.showMessageDialog(null, "Setting FTP First", "Failed",JOptionPane.INFORMATION_MESSAGE); }
          else {
          Area2.setText(this.getPath()+comboTahun2.getSelectedItem().toString()+"/");          
        
        String lokasi=this.getPath()+comboTahun2.getSelectedItem().toString()+"/";
        String namaFile="";  
        File folder = new File(lokasi);
        File[] listOfFiles = folder.listFiles();
        Area2.append("\nJumlah File = "+listOfFiles.length);
        boolean conn=true;
        int i=0;
        int skala=100/listOfFiles.length;
        int nilai=0;
        int jumlahFile=listOfFiles.length;
        //jumlahFile=1;
        Area2.append("\nserver="+server+"#user="+user+"#=password"+password+"dir="+dir);
        while((i<jumlahFile)&&(conn==true)) {
            if (listOfFiles[i].isFile()) {

                //System.out.println("File " + listOfFiles[i].getName());                
                namaFile=lokasi+listOfFiles[i].getName();
                //namaFile=listOfFiles[i].getName();
                Area2.append("\n"+namaFile);
                
                if( ftp1.upload1(server,user,password,namaFile,dir)==1) {
                i++;
                Area2.append("\n"+i+" ="+namaFile+" ok");
                nilai=nilai+skala;
                progressBar.setValue(nilai);
                }
                else {
                conn=false;
                JOptionPane.showMessageDialog(null, "Not Connect FTP Server", "Failed",JOptionPane.INFORMATION_MESSAGE);
                }
                 
                
            } else if (listOfFiles[i].isDirectory()) {
                System.out.println("Directory " + listOfFiles[i].getName());
            }
            
        }
        if (conn==true)
         {JOptionPane.showMessageDialog(null, "Transfer Complete", "Success",JOptionPane.INFORMATION_MESSAGE); };
        }
    }//GEN-LAST:event_jButton2ActionPerformed

    private void bNewQueryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bNewQueryActionPerformed
        // clear spSettingQuery

       int a=tblSettingQuery.getRowCount();
       System.out.println("jumlah row ="+a);
       for(int i=1;i<=a;i++){
           mdlSettingQuery.removeRow(0);
       }

       txtFrom.setText("=mspropinsi ms");
       txtWhere.setText("p.propinsi=ms.kode");
        
        

    }//GEN-LAST:event_bNewQueryActionPerformed

    private void jbSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbSaveActionPerformed
        // Save to tabel query
      String q1=jQuery.getText();
      String namaFile=jcFileName.getSelectedItem().toString();
      String deskFile=txtDescription.getText();
      if( (namaFile.equalsIgnoreCase(""))||(deskFile.equalsIgnoreCase("")) )
       {
          JOptionPane.showMessageDialog(null, "namaFile || deskFile kosong", "Not Succed",JOptionPane.INFORMATION_MESSAGE);
       }else {
          String sql="insert into query values (\""+q1+"\",\""+namaFile+"\",\""+deskFile+"\")";
          db.setQuery(sql);
          JOptionPane.showMessageDialog(null, "Insert data succed", "Succes",JOptionPane.INFORMATION_MESSAGE);
          System.out.println(sql);
       }

    }//GEN-LAST:event_jbSaveActionPerformed


  
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    //menampilkan database ke tabel
    //RunXML
    sd.setDataAwal();
    this.statusXmlAll=true;
    String namaInstansi=jcFileName2.getSelectedItem().toString();
    System.out.println("Run Database ="+namaInstansi);
    int urutanFile1=sd.getUrutan(namaInstansi);
    urutanFile1=jcFileName2.getSelectedIndex()+1;
    this.noLaporan=urutanFile1;
    System.out.println("");
    System.out.println("Run database ="+this.jenisDBServer);
    if (this.jenisDBServer==0){ //menggunakan mysql
        
        System.out.println("no Instansi-3="+this.noInstansi);
        System.out.println("no ="+urutanFile1);
        showDatabase3(urutanFile1);

    /*     switch (this.noInstansi) {
            case 1  ://Adminduk
                     System.out.println("Show database Adminduk");
                    //System.out.println("xpenduduk.xml");
                     //rs = (ResultSet) dbo.getResult1(sql);
                       break;
             case 2 :  System.out.println("Show database Depkes");
                       //showDatabaseDepkes(urutanFile1);
                       break;

             case 3 :  System.out.println("Show database BPS");
                       break;

             case 4 :  System.out.println("Show database Bappenas");
                       break;

             default : break;
         }*/


    }
    else if(this.jenisDBServer==1){try {
                showDatabase4(urutanFile1);//oracle
            } catch (SQLException ex) {
                Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
            }
}
    else {
       JOptionPane.showMessageDialog(null, "Not Configured", "Succes",JOptionPane.INFORMATION_MESSAGE);
    }
      
}
private void showDatabaseDepkes(int urutanFile1){  //heroyudo showDatabase3();
        
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();
        boolean statusXmlAll1=this.statusXmlAll;
        //dibawah sementara ditutup
        //String namaInstansi=jcFileName2.getSelectedItem().toString();
        //int urutanFile=sd.getUrutan(namaInstansi);
        int p=urutanFile1;
        //System.out.println(urutanFile);
        String tahun1=comboTahun.getSelectedItem().toString();
        ResultSet rs=null,rs1=null;
        String sql=null, sql1=null, sql2=null;
        String sqlM=null,sqlO=null;
        int x=1; //jumlah Baris Xml
        int y=1; //

//HEROYUDO
        switch (p) {//menempatkan data dari database ke tabel xml
            case 1  :System.out.println("masuk showDatabaseDepkes-1");
                     sql="select year(tahun), jumlahRS, lahirmati,lahirhidup from bayiMatiHidup where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2)); 
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,4,rs.getString(4));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 2  :System.out.println("masuk showDatabaseDepkes-2");
                     sql="select year(tahun), matiIbu, lahirHidup from maternalIbu where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                     break;

            case 3  :System.out.println("masuk showDatabaseDepkes-3");
                     sql="select year(tahun), keluar, mati from matiRS where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);

                    break;

          case 4  :System.out.println("masuk showDatabaseDepkes-4");
                     sql="select year(tahun),dtd,icd, sebab, mati, prosen from penyakitUtama where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,1,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,2,rs.getString(5));
                            rowOne.addElement(rs.getString(6));     setDataXML(x,1,rs.getString(6));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                     break;

             case 5  :System.out.println("masuk showDatabaseDepkes-5");
                     sql="select year(tahun),dtd, sebab, kunjungan, prosen from penyakitRJ where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,1,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,2,rs.getString(5));                            
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                    break;

            case 6  :System.out.println("masuk showDatabaseDepkes-6");
                     sql="select year(tahun),dtd, icd,sebab, pasien, prosen from penyakitRI where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,1,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,2,rs.getString(5));
                            rowOne.addElement(rs.getString(6));     setDataXML(x,2,rs.getString(6));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                    break;

                    

           case 7  :System.out.println("masuk showDatabaseDepkes-7");
                     sql="select year(tahun),penyakit, jumlah from ragamPenyakit where year(tahun)="+tahun1;
                     rs = (ResultSet) db.getResult(sql); //mysql
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,1,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                    break;

                   

           case 8  :System.out.println("masuk showDatabaseDepkes-8");
                    break;

        

    default : break;
    }
     
        //int z=sd.getJumlahKolom(p);//mendapatkan jumlah kolom
        sql="select count(*) from setup_kolom where no_report="+p;
        System.out.println(sql);
        int z=db.getInteger1(sql);

        System.out.println("Jumlah Kolom ="+z);
        //menulis judul kolom
        for(int i=1; i<=z; i++){
            //columnNames.addElement(sd.confKolom[p][i]);//menulis judul kolom
            sql="select kolom from setup_kolom where no_report="+p+" and no_kolom="+i;
            System.out.println(sql);
            columnNames.addElement(db.getString1(sql));
        }
        if(statusXmlAll1)
            {tulisXML(rowData, columnNames);}


}




private void showDatabase4(int urutanFile1) throws SQLException{  //heroyudo showDatabase4 for Oracle();
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

        boolean statusXmlAll1=this.statusXmlAll;

        //dibawah sementara ditutup
        //String namaInstansi=jcFileName2.getSelectedItem().toString();
        //int urutanFile=sd.getUrutan(namaInstansi);
        int p=urutanFile1;
        //System.out.println(urutanFile);


        String tahun1=comboTahun.getSelectedItem().toString();
        ResultSet rs=null,rs1=null;
        String sql=null, sql1=null, sql2=null;
        String sqlM=null,sqlO=null;
        int x=1; //jumlah Baris Xml
        int y=1; //

        System.out.println("show database 4, urutan file="+urutanFile1);
        dbo.koneksiOracle("", "", "", "");
        
        switch (p) {//menempatkan data dari database ke tabel xml
            case 1  ://1. xpenduduk
                    System.out.println("xpenduduk.xml");
                     //rs = (ResultSet) dbo.getResult1(sql);                    
                   
                   //Oracle
                    sql="select  to_char(b.TGL_ENTRI,'yyyy') , p.NAMA_PROP,b.NO_PROP " +
                        "from HERO.BIODATA_WNI b, HERO.SETUP_PROP p "+
                        "where b.NO_PROP=p.NO_PROP and to_char(b.TGL_ENTRI,'yyyy')='"+tahun1+"' order by no_prop ";
                  
                     rs = (ResultSet) dbo.getResult(sql);                     
                    
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            //testing ke layar
                            //System.out.println(rs.getString(1)+"-"+rs.getString(2));
                            int kodeProp=Integer.valueOf(rs.getString(3));
                            sql1="select count(*) from biodata_wni where "+
                                 "jenis_klmin=1 and no_prop="+kodeProp;//laki
                            //System.out.println(sql1);
                            //dbo.testing("");
                            String laki=dbo.getString(sql1);
                            //System.out.println(sql1+"="+laki);
                            rowOne.addElement(laki); setDataXML(x,3,laki);
                            sql1="select count(*) from biodata_wni where "+
                                 "stat_kwn=2 and no_prop="+kodeProp;//perempuan
                            String perempuan=dbo.getString(sql1);
                            rowOne.addElement(perempuan); setDataXML(x,4,perempuan);
                            rowData.addElement(rowOne);
                            x++;
                            System.out.println(rs.getString(1)+"-"+rs.getString(2)+","+laki+","+perempuan);
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    this.jumBarisXml=x;
             
                      break;

            case 2  ://2 umurTunggal
                     System.out.println("xumurTunggal.xml");
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     System.out.println(sql);

                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 0
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =0 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =0 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            //System.out.println(sql1);
                            //System.out.println(sql2);
                            String lu1=dbo.getString(sql1);
                            String pu1=dbo.getString(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);

                            //kelompok umur 11
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =11 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =11 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu2=dbo.getString(sql1);
                            String pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);

                            //kelompok umur 15
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =15 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =15 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,7,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,8,pu2);

                            //kelompok umur 19
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =19 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =19 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,9,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,10,pu2);

                            //kelompok umur 22
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =22 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =22 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,11,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,12,pu2);

                            //kelompok umur 26
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =26 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =26 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,13,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,14,pu2);

                            //kelompok umur 30
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =30 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =30 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,15,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,16,pu2);

                            //kelompok umur 33
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =33 ) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) =33 ) "+
                                 "and jenis_klmin=2"; //perempuan
                            lu2=dbo.getString(sql1);
                            pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,17,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,18,pu2);


                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                      
                      break;

            case 3  ://2 Kelompok Umur 1
                     System.out.println("xkelompokUmur1.xml");
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     System.out.println(sql);

                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-4 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 40 and 44) "+
                                 "and jenis_klmin=1"; //laki

                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 40 and 44) "+
                                 "and jenis_klmin=2"; //perempuan
                            //System.out.println(sql1);
                            //System.out.println(sql2);
                            String lu1=dbo.getString(sql1);
                            String pu1=dbo.getString(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);

                            //kelompok umur 1 (5-9 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 45 and 49) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 45 and 49) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu2=dbo.getString(sql1);
                            String pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;


            case 4  ://4 Distribusi Perkawinan
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     System.out.println(sql);
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //kelompok belum kawin 1
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=1 and b.jenis_klmin=1"; //laki
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=1 and b.jenis_klmin=2"; //perempuan
                            System.out.println(sql1);
                            String lbelum=dbo.getString(sql1);
                            String pbelum=dbo.getString(sql2);
                            rowOne.addElement(lbelum);                  setDataXML(x,3,lbelum);
                            rowOne.addElement(pbelum);                  setDataXML(x,4,pbelum);

                            //kelompok cerai hidup 3
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=3 and b.jenis_klmin=1"; //laki
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=3 and b.jenis_klmin=2"; //perempuan
                            System.out.println(sql1);
                            String lch=dbo.getString(sql1);
                            String pch=dbo.getString(sql2);
                            rowOne.addElement(lch);                  setDataXML(x,5,lch);
                            rowOne.addElement(pch);                  setDataXML(x,6,pch);

                            //kelompok cerai mati 4
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=4 and b.jenis_klmin=1"; //laki
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=4 and b.jenis_klmin=2"; //perempuan
                            System.out.println(sql1);
                            String lcm=dbo.getString(sql1);
                            String pcm=dbo.getString(sql2);
                            rowOne.addElement(lcm);                  setDataXML(x,7,lcm);
                            rowOne.addElement(pcm);                  setDataXML(x,8,pcm);

                            //kelompok kawin 2
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=2 and b.jenis_klmin=1"; //laki
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp +
                                 " and b.stat_kwn=2 and b.jenis_klmin=2"; //perempuan
                            System.out.println(sql1);
                            String lKawin=dbo.getString(sql1);
                            String pKawin=dbo.getString(sql2);
                            rowOne.addElement(lKawin);                  setDataXML(x,9,lKawin);
                            rowOne.addElement(pKawin);                  setDataXML(x,10,pKawin);


                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 5  ://1. xstatusWn
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     System.out.println("xstatusWN ="+sql);
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                           Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            sql1="select count(*) from hero.biodata_wni b where "+
                                 "b.jenis_klmin=1 and b.no_prop="+kodeProp;//laki
                            sql2="select count(*) from hero.biodata_wni b where "+
                                 "b.jenis_klmin=2 and b.no_prop="+kodeProp;//perempuan
                            System.out.println("sql1 = "+sql1);
                            String laki=dbo.getString(sql1);
                            String perempuan=dbo.getString(sql2);
                            rowOne.addElement(laki); setDataXML(x,3,laki);
                            rowOne.addElement(perempuan); setDataXML(x,4,perempuan);
                            //data wna laki dan perempuan                      
                            rowData.addElement(rowOne);
                        
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        } 
                     x--;
                    setJumBarisXmlSetQuery2(x);                
                    break;

             case 6  ://4 Distribusi Golongan Darah
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Golongan Darah A
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=1 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=1 and b.jenis_klmin=2";
                            String la=dbo.getString(sql1);
                            String pa=dbo.getString(sql2);
                            rowOne.addElement(la);                  setDataXML(x,3,la);
                            rowOne.addElement(pa);                  setDataXML(x,4,pa);

                            //Golongan Darah B
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=2 and b.jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=2 and jenis_klmin=2";
                            String lb=dbo.getString(sql1);
                            String pb=dbo.getString(sql2);
                            rowOne.addElement(lb);                  setDataXML(x,5,lb);
                            rowOne.addElement(pb);                  setDataXML(x,6,pb);

                            //Golongan Darah AB
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=3 and b.jenis_klmin=1";
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=3 and b.jenis_klmin=2";
                            String lab=dbo.getString(sql1);
                            String pab=dbo.getString(sql2);
                            rowOne.addElement(lab);                  setDataXML(x,7,lab);
                            rowOne.addElement(pab);                  setDataXML(x,8,pab);

                            //Golongan Darah O
                            sql1="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=4 and b.jenis_klmin=1";
                            sql2="select count(*) from hero.biodata_wni b where b.no_prop="+kodeProp+" and " +
                                    "b.gol_drh=4 and b.jenis_klmin=2";
                            String lo=dbo.getString(sql1);
                            String po=dbo.getString(sql2);
                            rowOne.addElement(lo);                  setDataXML(x,9,lo);
                            rowOne.addElement(po);                  setDataXML(x,10,po);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 7  ://4 Distribusi Jumlah Keluarga
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from hero.biodata_wni b, hero.setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+
                                  "and b.stat_hbkel=2";
                            String po=dbo.getString(sql1);
                            rowOne.addElement(po);                  setDataXML(x,3,po);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 8  ://4 Distribusi Berdasarkan Agama
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP order by p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Islam
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='1' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='1' and jenis_klmin=2";
                            String la=dbo.getString(sql1);
                            String pa=dbo.getString(sql2);
                            rowOne.addElement(la);                  setDataXML(x,3,la);
                            rowOne.addElement(pa);                  setDataXML(x,4,pa);

                            //Kristen
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='2' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='2' and jenis_klmin=2";
                            String lb=dbo.getString(sql1);
                            String pb=dbo.getString(sql2);
                            rowOne.addElement(lb);                  setDataXML(x,5,lb);
                            rowOne.addElement(pb);                  setDataXML(x,6,pb);

                            //Katholik
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='3' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='3' and jenis_klmin=2";
                            String lab=dbo.getString(sql1);
                            String pab=dbo.getString(sql2);
                            rowOne.addElement(lab);                  setDataXML(x,7,lab);
                            rowOne.addElement(pab);                  setDataXML(x,8,pab);

                            //Hindu
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='4' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='4' and jenis_klmin=2";
                            String lo=dbo.getString(sql1);
                            String po=dbo.getString(sql2);
                            rowOne.addElement(lo);                  setDataXML(x,9,lo);
                            rowOne.addElement(po);                  setDataXML(x,10,po);

                            //Budha
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='5' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='5' and jenis_klmin=2";
                            String lb1=dbo.getString(sql1);
                            String pb1=dbo.getString(sql2);
                            rowOne.addElement(lb1);                  setDataXML(x,11,lb1);
                            rowOne.addElement(pb1);                  setDataXML(x,12,pb1);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;


            case 9  ://4 Distribusi Jenis Pekerjaan
                     //tahun1="2010";
                     int i=1;
                     for(x=1;x<=20;x++){
                        Vector<String> rowOne = new Vector<String>();
                        rowOne.addElement(sd.getJenisPekerjaan(x)); setDataXML(x,1,sd.getJenisPekerjaan(x));
                        sql1="select count(*) from biodata_wni where jenis_klmin=1 and jenis_pkrjn="+x;//l
                        String l1=dbo.getString(sql1);
                        rowOne.addElement(l1);                     setDataXML(x,2,l1);
                        sql2="select count(*) from biodata_wni where jenis_klmin=2 and jenis_pkrjn="+x;//p
                        String p1=dbo.getString(sql2);
                        rowOne.addElement(p1);                     setDataXML(x,3,p1);
                        rowData.addElement(rowOne);
                     }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                    break;

            case 10  ://10 Kelompok Umur Sekolah
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (7-12 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 7 and 12) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 7 and 12) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu1=dbo.getString(sql1);
                            String pu1=dbo.getString(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);

                            //kelompok umur 2 (13-15 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 13 and 15) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 13 and 15) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu2=dbo.getString(sql1);
                            String pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);

                            //kelompok umur 3 (16-18 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 16 and 18) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 16 and 18) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu3=dbo.getString(sql1);
                            String pu3=dbo.getString(sql2);
                            rowOne.addElement(lu3);                  setDataXML(x,5,lu3);
                            rowOne.addElement(pu3);                  setDataXML(x,6,pu3);

                            //kelompok umur 4 (19-24 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 19 and 24) "+
                                 "and jenis_klmin=1"; //laki
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp +
                                 " and ( ("+tahun1+"- to_char(b.TGL_ENTRI,'yyyy')) between 19 and 24) "+
                                 "and jenis_klmin=2"; //perempuan
                            String lu4=dbo.getString(sql1);
                            String pu4=dbo.getString(sql2);
                            rowOne.addElement(lu4);                  setDataXML(x,5,lu4);
                            rowOne.addElement(pu4);                  setDataXML(x,6,pu4);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 11  ://11 Pendidikan Tertinggi
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //Tidak/Belum Sekolah
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=1 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=1 and jenis_klmin=2";
                            String lu1=dbo.getString(sql1);
                            String pu1=dbo.getString(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);
                            //Belum Tamat Sekolah
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=2 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=2 and jenis_klmin=2";
                            String lu2=dbo.getString(sql1);
                            String pu2=dbo.getString(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);
                            //SD
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=3 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=3 and jenis_klmin=2";
                            String lu3=dbo.getString(sql1);
                            String pu3=dbo.getString(sql2);
                            rowOne.addElement(lu3);                  setDataXML(x,7,lu3);
                            rowOne.addElement(pu3);                  setDataXML(x,8,pu3);
                            //SLTP
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=4 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=4 and jenis_klmin=2";
                            String lu4=dbo.getString(sql1);
                            String pu4=dbo.getString(sql2);
                            rowOne.addElement(lu4);                  setDataXML(x,9,lu4);
                            rowOne.addElement(pu4);                  setDataXML(x,10,pu4);
                            //SLTA
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=5 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=5 and jenis_klmin=2";
                            String lu5=dbo.getString(sql1);
                            String pu5=dbo.getString(sql2);
                            rowOne.addElement(lu5);                  setDataXML(x,11,lu5);
                            rowOne.addElement(pu5);                  setDataXML(x,12,pu5);
                            //D12
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=6 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=6 and jenis_klmin=2";
                            String lu6=dbo.getString(sql1);
                            String pu6=dbo.getString(sql2);
                            rowOne.addElement(lu6);                  setDataXML(x,13,lu6);
                            rowOne.addElement(pu6);                  setDataXML(x,14,pu6);
                            //D3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=7 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=7 and jenis_klmin=2";
                            String lu7=dbo.getString(sql1);
                            String pu7=dbo.getString(sql2);
                            rowOne.addElement(lu7);                  setDataXML(x,15,lu7);
                            rowOne.addElement(pu7);                  setDataXML(x,16,pu7);
                            //S1
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=8 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=8 and jenis_klmin=2";
                            String lu8=dbo.getString(sql1);
                            String pu8=dbo.getString(sql2);
                            rowOne.addElement(lu8);                  setDataXML(x,17,lu8);
                            rowOne.addElement(pu8);                  setDataXML(x,18,pu8);
                            //S2
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=9 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=9 and jenis_klmin=2";
                            String lu9=dbo.getString(sql1);
                            String pu9=dbo.getString(sql2);
                            rowOne.addElement(lu9);                  setDataXML(x,19,lu9);
                            rowOne.addElement(pu9);                  setDataXML(x,20,pu9);
                            //S3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=10 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=10 and jenis_klmin=2";
                            String lu10=dbo.getString(sql1);
                            String pu10=dbo.getString(sql2);
                            rowOne.addElement(lu10);                  setDataXML(x,21,lu10);
                            rowOne.addElement(pu10);                  setDataXML(x,22,pu10);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 12  ://12 Distribusi Penyandang Cacat
                     //tahun1="2010";
                     for(x=1;x<=6;x++){
                        Vector<String> rowOne = new Vector<String>();
                        rowOne.addElement(sd.getCacat(x)); setDataXML(x,1,sd.getCacat(x));
                        sql1="select count(*) from biodata_wni where jenis_klmin=1 and pnydng_cct="+x;//l
                        String l1=dbo.getString(sql1);
                        rowOne.addElement(l1);                     setDataXML(x,2,l1);
                        sql2="select count(*) from biodata_wni where jenis_klmin=2 and pnydng_cct="+x;//p
                        String p1=dbo.getString(sql2);
                        rowOne.addElement(p1);                     setDataXML(x,3,p1);
                        rowData.addElement(rowOne);
                     }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                     break;

            case 13  ://13. Distribusi Angka Kelahiran Kasar
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "to_char(b.TGL_LHR,'yyyy')='"+tahun1+"'";
                            String lhr=dbo.getString(sql1);
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            sql2="select count(*) from biodata_wni where no_prop="+kodeProp;
                            String pdd=dbo.getString(sql2);
                            rowOne.addElement(pdd);                  setDataXML(x,4,pdd);
                            int lhr1 =Integer.valueOf(lhr);
                            int pdd1 =Integer.valueOf(pdd);
                            //float cbr1=(float)(lhr1/pdd1);
                            String cbr="";
                            rowOne.addElement(cbr);                  setDataXML(x,5,cbr);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 14  ://14. Kelahiran dan Kepemilikan Akte
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "to_char(b.TGL_LHR,'yyyy')='"+tahun1+"'";
                            String lhr=dbo.getString(sql1);
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            //jumlah pemilik akte kelahiran
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "to_char(b.TGL_LHR,'yyyy')='"+tahun1+"' and b.akta_lhr=1";
                            String akte=dbo.getString(sql2);
                            rowOne.addElement(akte);                  setDataXML(x,4,akte);
                            //prosen kepemilikan akte kelahiran
                            int lhr1 =Integer.valueOf(lhr);
                            int akte1 =Integer.valueOf(akte);
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String prs="";
                            rowOne.addElement(prs);                  setDataXML(x,5,prs);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 15  ://15. Demografi
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "to_char(b.TGL_LHR,'yyyy')='"+tahun1+"'";
                            String lhr=dbo.getString(sql1);
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            //jumlah kematian tahun itu
                            //sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                            //     "to_char(b.TGL_LHR,'yyyy')='"+tahun1+"'";
                            //String mt=db.getString1(sql2);
                            rowOne.addElement("x");                  setDataXML(x,4,"x");
                            //prosen kepemilikan akte kelahiran
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String pdh="x";
                            String dtg="x";
                            rowOne.addElement(pdh);                  setDataXML(x,5,pdh);
                            rowOne.addElement(dtg);                  setDataXML(x,6,dtg);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

                    
            case 16  ://16. Perkawinan dan Kepemilikan Akte
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //Jumlah perkawinan
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+
                                 "and b.stat_kwn=2";
                            String kwn=dbo.getString(sql1);
                            rowOne.addElement(kwn);                 setDataXML(x,3,kwn);
                            //jumlah pemilik akte kelahiran
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "b.stat_kwn=2 and b.akta_kwn=2";
                            String akte=dbo.getString(sql2);
                            rowOne.addElement(akte);                  setDataXML(x,4,akte);
                            //prosen kepemilikan akte kelahiran
                            //int kwn1 =Integer.valueOf(kwn);
                            //int akte1 =Integer.valueOf(akte);
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String prs="x";
                            rowOne.addElement(prs);                  setDataXML(x,5,prs);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 17  ://17 Kepemilikan KTP
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-16 tahun) dan sudah menikah
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                  "(("+tahun1+"-to_char(b.TGL_LHR,'yyyy'))between 0 and 16) and b.stat_kwn=2 ";
                            String u1=dbo.getString(sql1);
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);

                            //kelompok umur >=17 tahun
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "(("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))between 17 and 100) ";
                            String u2=dbo.getString(sql2);
                            rowOne.addElement(u2);                  setDataXML(x,4,u2);

                            //kelompok dengan status ktp
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "b.stat_ktp=2";
                            String u3=dbo.getString(sql2);
                            rowOne.addElement(u3);                  setDataXML(x,5,u3);
                             
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 18  ://17 Jumlah Kepala Keluarga
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);              setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-16 tahun)
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "b.stat_hbkel=1 ";
                            String u1=dbo.getString(sql1);
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;



            case 19  ://19 Kepemilikan Dokumen
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //akta lahir
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "akta_lhr=2 ";
                            String u1=dbo.getString(sql1);
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);

                            //ktp
                            sql2="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "b.stat_ktp=2 ";
                            String u2=dbo.getString(sql2);
                            rowOne.addElement(u2);                  setDataXML(x,4,u2);

                            //akta kawin
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "akta_kwn=2";
                            String u3=dbo.getString(sql2);
                            rowOne.addElement(u3);                  setDataXML(x,5,u3);

                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "b.stat_hbkel=1 ";
                            String kk=dbo.getString(sql1);
                            
                            String mati="x";
                            rowOne.addElement(kk);                  setDataXML(x,6,kk);
                            rowOne.addElement(mati);                setDataXML(x,7,mati);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 20  ://20 Pemilih Pemilu yang Cacat
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) dbo.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);                  setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));         setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Kelompok Cacat 1=Cacat Fisik, (kawin atau >16 tahun)
                            sql1="select count(*) from biodata_wni b where b.no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))>16)or (stat_kwn=2 ) )  and pnydng_cct=1 ";
                            String a=dbo.getString(sql1);
                            rowOne.addElement(a);           setDataXML(x,3,a);

                            //Kelompok Cacat=2
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))>16)or (stat_kwn=2 ) )  and pnydng_cct=2 ";
                            a=dbo.getString(sql1);
                            rowOne.addElement(a);           setDataXML(x,4,a);

                            //Kelompok Cacat=3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))>16)or (stat_kwn=2 ) )  and pnydng_cct=3 ";
                            a=dbo.getString(sql1);
                            rowOne.addElement(a);           setDataXML(x,5,a);

                            //Kelompok Cacat=4
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))>16)or (stat_kwn=2 ) )  and pnydng_cct=4 ";
                            a=dbo.getString(sql1);
                            rowOne.addElement(a);           setDataXML(x,6,a);

                            //Kelompok Cacat=5
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-to_char(b.TGL_ENTRI,'yyyy'))>16)or (stat_kwn=2 ) )  and pnydng_cct=5 ";
                            a=dbo.getString(sql1);
                            rowOne.addElement(a);           setDataXML(x,7,a);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;


                 

            default : break;
        }
      
        int z=sd.getJumlahKolom(p);
        System.out.println("Jumlah Kolom ="+z);
        for(int i=1; i<=z; i++){
            columnNames.addElement(sd.confKolom[p][i]);
        }
        if(statusXmlAll1)
            {tulisXML(rowData, columnNames);}

 
}



private void showDatabase3(int urutanFile1){  //heroyudo showDatabase3();

    System.out.println("showDatabase3");

        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

        boolean statusXmlAll1=this.statusXmlAll;

        //dibawah sementara ditutup
        //String namaInstansi=jcFileName2.getSelectedItem().toString();
        //int urutanFile=sd.getUrutan(namaInstansi);
        int p=urutanFile1;
        //System.out.println(urutanFile);
        //p=this.noLaporan;
        int n=this.noInstansi;
        
        String tahun1=comboTahun.getSelectedItem().toString();
        ResultSet rs=null,rs1=null;
        String sql=null, sql1=null, sql2=null;
        String sqlM=null,sqlO=null;
        int x=1; //jumlah Baris Xml
        int y=1; //

switch(n) {
    case 1 : //Instansi ADMINDUK
             System.out.println("ADMINDUK");
       
        switch (p) {//menempatkan data dari database ke tabel xml
            case 1  ://1. xpenduduk
                    //System.out.println("Server ="+this.jenisDBServer);
                    System.out.println("1-1-penduduk");
                     
                    //Mysql
                    sql="select distinct year (b.tgl_entri) as 'tahun', p.NAMA_PROP as 'propinsi', b.no_prop " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP and year (b.tgl_entri)='"+tahun1+"'";
                   // System.out.println(sql);

                   //Oracle
                   /* sqlO="select  to_char(b.TGL_ENTRI,'yyyy') , p.NAMA_PROP,b.NO_PROP " +
                         "from HERO.BIODATA_WNI b, HERO.SETUP_PROP p "+
                         "where b.NO_PROP=p.NO_PROP and to_char(b.TGL_ENTRI,'yyyy')='"+tahun1+"' order by no_prop ";
                     */
                    //if(this.jenisDBServer==0){sql=sqlM;} else {sql=sqlO;}
                     rs = (ResultSet) db.getResult(sql); //mysql
                     //rs = (ResultSet) dbo.getResult(sql); //oracle
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     
                            setDataXML(x,1,rs.getString(1));
                            //setDataXML3(1,1,x,rs.getString(1));
                            
                            rowOne.addElement(rs.getString(2));
                            setDataXML(x,2,rs.getString(2));
                            //setDataXML3(1,1,x,rs.getString(2));

                            //testing ke layar
                            System.out.println(rs.getString(1)+"-"+rs.getString(2));
                            int kodeProp=Integer.valueOf(rs.getString(3));
                            sql1="select count(*) from biodata_wni where "+
                                 "jenis_klmin=1 and no_prop="+kodeProp;//laki                            
                            String laki=db.getString1(sql1);
                            System.out.println(sql1+"="+laki);
                            rowOne.addElement(laki); setDataXML(x,3,laki);
                            sql1="select count(*) from biodata_wni where "+
                                 "stat_kwn=2 and no_prop="+kodeProp;//perempuan
                            String perempuan=db.getString1(sql1);
                            rowOne.addElement(perempuan); setDataXML(x,4,perempuan);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                     
                    setJumBarisXmlSetQuery2(x);
                    this.jumBarisXml=x; 
                    break;

            case 2  ://2 Kelompok Umur 1
                     //tahun1="2010";
                     System.out.println("1-2-");

                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-4 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 0 and 4) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 0 and 4) and jenis_klmin=2";
                            String lu1=db.getString1(sql1);
                            String pu1=db.getString1(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);                            
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);

                            //kelompok umur 2 (5-9 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 5 and 9) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 5 and 9) and jenis_klmin=2";
                            String lu2=db.getString1(sql1);
                            String pu2=db.getString1(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);

                            rowOne.addElement("2");                  setDataXML(x,7,"2");
                            rowOne.addElement("3");                  setDataXML(x,8,"3");
                            rowOne.addElement("4");                  setDataXML(x,9,"4");
                            rowOne.addElement("5");                  setDataXML(x,10,"5");
                            rowOne.addElement("6");                  setDataXML(x,11,"6");
                            rowOne.addElement("7");                  setDataXML(x,12,"7");
                            rowOne.addElement("8");                  setDataXML(x,13,"8");
                            rowOne.addElement("9");                  setDataXML(x,14,"9");
                            rowOne.addElement("9");                  setDataXML(x,15,"10");
                            rowOne.addElement("10");                  setDataXML(x,16,"11");
                            rowOne.addElement("11");                  setDataXML(x,17,"12");
                            rowOne.addElement("12");                  setDataXML(x,18,"13");
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);  
                      break;

            case 3  ://3 Kelompok Umur 2
                     //tahun1="2010";
                     System.out.println("1-3-kelompok Umur");
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-4 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 40 and 44) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 40 and 44) and jenis_klmin=2";
                            String lu9=db.getString1(sql1);
                            String pu9=db.getString1(sql2);
                            rowOne.addElement(lu9);                  setDataXML(x,3,lu9);
                            rowOne.addElement(pu9);                  setDataXML(x,4,pu9);

                            //kelompok umur 2 (5-9 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 45 and 49) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 45 and 49) and jenis_klmin=2";
                            String lu10=db.getString1(sql1);
                            String pu10=db.getString1(sql2);
                            rowOne.addElement(lu10);                  setDataXML(x,5,lu10);
                            rowOne.addElement(pu10);                  setDataXML(x,6,pu10);
                            /*rowOne.addElement("");                  setDataXML(x,7,"");
                            rowOne.addElement("");                  setDataXML(x,8,"");
                            rowOne.addElement("");                  setDataXML(x,9,"");
                            rowOne.addElement("");                  setDataXML(x,10,"");
                            rowOne.addElement("");                  setDataXML(x,11,"");
                            rowOne.addElement("");                  setDataXML(x,12,"");
                            rowOne.addElement("");                  setDataXML(x,13,"");
                            rowOne.addElement("");                  setDataXML(x,14,"");
                            rowOne.addElement("");                  setDataXML(x,15,"");
                            rowOne.addElement("");                  setDataXML(x,16,"");
                            rowOne.addElement("");                  setDataXML(x,17,"");
                            rowOne.addElement("");                  setDataXML(x,18,"");*/
                            rowData.addElement(rowOne);
                            x++;
                       }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 4  ://4 Distribusi Perkawinan
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //kelompok belum kawin
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=1 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=1 and jenis_klmin=2";
                            String lbelum=db.getString1(sql1);
                            String pbelum=db.getString1(sql2);
                            rowOne.addElement(lbelum);                  setDataXML(x,3,lbelum);
                            rowOne.addElement(pbelum);                  setDataXML(x,4,pbelum);

                            //kelompok cerai hidup
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=3 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=3 and jenis_klmin=2";
                            String lch=db.getString1(sql1);
                            String pch=db.getString1(sql2);
                            rowOne.addElement(lch);                  setDataXML(x,5,lch);
                            rowOne.addElement(pch);                  setDataXML(x,6,pch);

                            //kelompok cerai mati
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=4 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=4 and jenis_klmin=2";
                            String lcm=db.getString1(sql1);
                            String pcm=db.getString1(sql2);
                            rowOne.addElement(lcm);                  setDataXML(x,7,lcm);
                            rowOne.addElement(pcm);                  setDataXML(x,8,pcm);

                            //kelompok kawin
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=2 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_kwn=2 and jenis_klmin=2";
                            String lKawin=db.getString1(sql1);
                            String pKawin=db.getString1(sql2);
                            rowOne.addElement(lKawin);                  setDataXML(x,9,lKawin);
                            rowOne.addElement(pKawin);                  setDataXML(x,10,pKawin);


                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x); 
                    break;

            case 5  ://1. xstatusWn
                     sql="select distinct year (b.tgl_entri) as 'tahun', p.NAMA_PROP as 'propinsi', b.no_prop " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP and year (b.tgl_entri)='"+tahun1+"'";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            int kodeProp=Integer.valueOf(rs.getString(3));
                            sql1="select count(*) from biodata_wni where "+
                                 "jenis_klmin=1 and no_prop="+kodeProp;//laki
                            String laki=db.getString1(sql1);
                            System.out.println(sql1+"="+laki);
                            rowOne.addElement("100"); setDataXML(x,3,"100");
                            sql1="select count(*) from biodata_wni where "+
                                 "stat_kwn=2 and no_prop="+kodeProp;//perempuan
                            String perempuan=db.getString1(sql1);
                            rowOne.addElement("100"); setDataXML(x,4,"100");
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    //this.jumBarisXml=x;
                      
                      break;




            case 6  ://4 Distribusi Golongan Darah
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Golongan Darah A
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=1 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=1 and jenis_klmin=2";
                            String la=db.getString1(sql1);
                            String pa=db.getString1(sql2);
                            rowOne.addElement(la);                  setDataXML(x,3,la);
                            rowOne.addElement(pa);                  setDataXML(x,4,pa);

                            //Golongan Darah B
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=2 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=2 and jenis_klmin=2";
                            String lb=db.getString1(sql1);
                            String pb=db.getString1(sql2);
                            rowOne.addElement(lb);                  setDataXML(x,5,lb);
                            rowOne.addElement(pb);                  setDataXML(x,6,pb);

                            //Golongan Darah AB
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=3 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=3 and jenis_klmin=2";
                            String lab=db.getString1(sql1);
                            String pab=db.getString1(sql2);
                            rowOne.addElement(lab);                  setDataXML(x,7,lab);
                            rowOne.addElement(pab);                  setDataXML(x,8,pab);

                            //Golongan Darah O
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=4 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "gol_drh=4 and jenis_klmin=2";
                            String lo=db.getString1(sql1);
                            String po=db.getString1(sql2);
                            rowOne.addElement(lo);                  setDataXML(x,9,lo);
                            rowOne.addElement(po);                  setDataXML(x,10,po);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x); 
                    break;

            case 7  ://4 Distribusi Golongan Darah
                     //tahun1="2010";
                   sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            rowOne.addElement("200");                  setDataXML(x,3,"200");
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x); 
                    break;

            case 8  ://4 Distribusi Berdasarkan Agama
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Islam
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='1' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='1' and jenis_klmin=2";
                            String la=db.getString1(sql1);
                            String pa=db.getString1(sql2);
                            rowOne.addElement(la);                  setDataXML(x,3,la);
                            rowOne.addElement(pa);                  setDataXML(x,4,pa);

                            //Kristen
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='2' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='2' and jenis_klmin=2";
                            String lb=db.getString1(sql1);
                            String pb=db.getString1(sql2);
                            rowOne.addElement(lb);                  setDataXML(x,5,lb);
                            rowOne.addElement(pb);                  setDataXML(x,6,pb);

                            //Katholik
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='3' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='3' and jenis_klmin=2";
                            String lab=db.getString1(sql1);
                            String pab=db.getString1(sql2);
                            rowOne.addElement(lab);                  setDataXML(x,7,lab);
                            rowOne.addElement(pab);                  setDataXML(x,8,pab);

                            //Hindu
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='4' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='4' and jenis_klmin=2";
                            String lo=db.getString1(sql1);
                            String po=db.getString1(sql2);
                            rowOne.addElement(lo);                  setDataXML(x,9,lo);
                            rowOne.addElement(po);                  setDataXML(x,10,po);

                            //Budha
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='5' and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "agama='5' and jenis_klmin=2";
                            String lb1=db.getString1(sql1);
                            String pb1=db.getString1(sql2);
                            rowOne.addElement(lb1);                  setDataXML(x,11,lb1);
                            rowOne.addElement(pb1);                  setDataXML(x,12,pb1);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;


            case 9  ://4 Distribusi Jenis Pekerjaan
                     //tahun1="2010";
                     int i=1;
                     for(x=1;x<=10;x++){
                        Vector<String> rowOne = new Vector<String>();
                        //rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                        rowOne.addElement(sd.getJenisPekerjaan(x)); setDataXML(x,1,sd.getJenisPekerjaan(x));
                        sql1="select count(*) from biodata_wni where jenis_klmin=1 and jenis_pkrjn="+x;//l
                        String l1=db.getString1(sql1);
                        rowOne.addElement(l1);                     setDataXML(x,2,l1);
                        sql2="select count(*) from biodata_wni where jenis_klmin=2 and jenis_pkrjn="+x;//p
                        String p1=db.getString1(sql2);                        
                        rowOne.addElement(p1);                     setDataXML(x,3,p1);
                        rowData.addElement(rowOne);
                     }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                    break;
                    
            case 10  ://10 Kelompok Umur Sekolah
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (7-12 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 7 and 12) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 7 and 12) and jenis_klmin=2";
                            String lu1=db.getString1(sql1);
                            String pu1=db.getString1(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);

                            //kelompok umur 2 (13-15 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 13 and 15) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 13 and 15) and jenis_klmin=2";
                            String lu2=db.getString1(sql1);
                            String pu2=db.getString1(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);

                            //kelompok umur 3 (16-18 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 16 and 18) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 16 and 18) and jenis_klmin=2";
                            String lu3=db.getString1(sql1);
                            String pu3=db.getString1(sql2);
                            rowOne.addElement(lu3);                  setDataXML(x,5,lu3);
                            rowOne.addElement(pu3);                  setDataXML(x,6,pu3);

                            //kelompok umur 4 (19-24 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 19 and 24) and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "((2010-year(tgl_lhr))between 19 and 24) and jenis_klmin=2";
                            String lu4=db.getString1(sql1);
                            String pu4=db.getString1(sql2);
                            rowOne.addElement(lu4);                  setDataXML(x,5,lu4);
                            rowOne.addElement(pu4);                  setDataXML(x,6,pu4);

                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 11  ://11 Pendidikan Tertinggi
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //Tidak/Belum Sekolah
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=1 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=1 and jenis_klmin=2";
                            String lu1=db.getString1(sql1);
                            String pu1=db.getString1(sql2);
                            rowOne.addElement(lu1);                  setDataXML(x,3,lu1);
                            rowOne.addElement(pu1);                  setDataXML(x,4,pu1);
                            //Belum Tamat Sekolah
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=2 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=2 and jenis_klmin=2";
                            String lu2=db.getString1(sql1);
                            String pu2=db.getString1(sql2);
                            rowOne.addElement(lu2);                  setDataXML(x,5,lu2);
                            rowOne.addElement(pu2);                  setDataXML(x,6,pu2);
                            //SD
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=3 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=3 and jenis_klmin=2";
                            String lu3=db.getString1(sql1);
                            String pu3=db.getString1(sql2);
                            rowOne.addElement(lu3);                  setDataXML(x,7,lu3);
                            rowOne.addElement(pu3);                  setDataXML(x,8,pu3);
                            //SLTP
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=4 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=4 and jenis_klmin=2";
                            String lu4=db.getString1(sql1);
                            String pu4=db.getString1(sql2);
                            rowOne.addElement(lu4);                  setDataXML(x,9,lu4);
                            rowOne.addElement(pu4);                  setDataXML(x,10,pu4);
                            //SLTA
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=5 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=5 and jenis_klmin=2";
                            String lu5=db.getString1(sql1);
                            String pu5=db.getString1(sql2);
                            rowOne.addElement(lu5);                  setDataXML(x,11,lu5);
                            rowOne.addElement(pu5);                  setDataXML(x,12,pu5);
                            //D12
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=6 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=6 and jenis_klmin=2";
                            String lu6=db.getString1(sql1);
                            String pu6=db.getString1(sql2);
                            rowOne.addElement(lu6);                  setDataXML(x,13,lu6);
                            rowOne.addElement(pu6);                  setDataXML(x,14,pu6);
                            //D3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=7 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=7 and jenis_klmin=2";
                            String lu7=db.getString1(sql1);
                            String pu7=db.getString1(sql2);
                            rowOne.addElement(lu7);                  setDataXML(x,15,lu7);
                            rowOne.addElement(pu7);                  setDataXML(x,16,pu7);
                            //S1
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=8 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=8 and jenis_klmin=2";
                            String lu8=db.getString1(sql1);
                            String pu8=db.getString1(sql2);
                            rowOne.addElement(lu8);                  setDataXML(x,17,lu8);
                            rowOne.addElement(pu8);                  setDataXML(x,18,pu8);
                            //S2
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=9 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=9 and jenis_klmin=2";
                            String lu9=db.getString1(sql1);
                            String pu9=db.getString1(sql2);
                            rowOne.addElement(lu9);                  setDataXML(x,19,lu9);
                            rowOne.addElement(pu9);                  setDataXML(x,20,pu9);
                            //S3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=10 and jenis_klmin=1";
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "pddk_akh=10 and jenis_klmin=2";
                            String lu10=db.getString1(sql1);
                            String pu10=db.getString1(sql2);
                            rowOne.addElement(lu10);                  setDataXML(x,21,lu10);
                            rowOne.addElement(pu10);                  setDataXML(x,22,pu10);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 12  ://12 Distribusi Penyandang Cacat
                     //tahun1="2010";
                     for(x=1;x<=6;x++){
                        Vector<String> rowOne = new Vector<String>();
                        rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                        rowOne.addElement(sd.getCacat(x));       setDataXML(x,2,sd.getCacat(x));
                        sql1="select count(*) from biodata_wni where jenis_klmin=1 and pnydng_cct="+x;//l
                        String l1=db.getString1(sql1);
                        rowOne.addElement(l1);                     setDataXML(x,3,l1);
                        sql2="select count(*) from biodata_wni where jenis_klmin=2 and pnydng_cct="+x;//p
                        String p1=db.getString1(sql2);
                        rowOne.addElement(p1);                     setDataXML(x,4,p1);
                        rowData.addElement(rowOne);
                     }
                     x--;
                     setJumBarisXmlSetQuery2(x);
                     break;

            case 13  ://13. Distribusi Angka Kelahiran Kasar
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //select count(*) from biodata_wni where year(tgl_lhr)='2010' no_prop=11
                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "year(tgl_lhr)='"+tahun1+"'";
                            String lhr=db.getString1(sql1);
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            sql2="select count(*) from biodata_wni where no_prop="+kodeProp;
                            String pdd=db.getString1(sql2);
                            rowOne.addElement(pdd);                  setDataXML(x,4,pdd);
                            int lhr1 =Integer.valueOf(lhr);
                            int pdd1 =Integer.valueOf(pdd); 
                            float cbr1=(float)(lhr1/pdd1);
                            String cbr=String.valueOf(cbr1);
                            rowOne.addElement(cbr);                  setDataXML(x,5,cbr);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 14  ://14. Kelahiran dan Kepemilikan Akte
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            
                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "year(tgl_lhr)='"+tahun1+"'";
                            String lhr=db.getString1(sql1);
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            //jumlah pemilik akte kelahiran
                            sql2="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "year(tgl_lhr)='"+tahun1+"' and akta_lhr=1";
                            String akte=db.getString1(sql2);
                            rowOne.addElement(akte);                  setDataXML(x,4,akte);

                            //prosen kepemilikan akte kelahiran
                            int lhr1 =Integer.valueOf(lhr);
                            int akte1 =Integer.valueOf(akte);
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String prs="1";
                            rowOne.addElement(prs);                  setDataXML(x,5,prs);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 15  ://15. Demografi
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "stat_kwn=2";
                            String lhr=db.getString1(sql1);
                            lhr="100";
                            rowOne.addElement(lhr);                 setDataXML(x,3,lhr);
                            //jumlah pemilik akte kelahiran
                            sql2="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "stat_kwn=2 and akta_kwn=2";
                            String mt=db.getString1(sql2);
                            rowOne.addElement(mt);                  setDataXML(x,4,mt);

                            //prosen kepemilikan akte kelahiran
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String pdh="5";
                            String dtg="10";
                            rowOne.addElement(pdh);                  setDataXML(x,5,pdh);
                            rowOne.addElement(dtg);                  setDataXML(x,5,dtg);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

                    
            case 16  ://16. Perkawinan dan Kepemilikan Akte
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));      setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Jumlah kelahiran tahun itu
                            sql1="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "stat_kwn=2";
                            String kwn=db.getString1(sql1);
                            rowOne.addElement(kwn);                 setDataXML(x,3,kwn);
                            //jumlah pemilik akte kelahiran
                            sql2="select count(*) from biodata_wni where no_prop="+kodeProp+" and " +
                                 "stat_kwn=2 and akta_kwn=2";
                            String akte=db.getString1(sql2);
                            rowOne.addElement(akte);                  setDataXML(x,4,akte);

                            //prosen kepemilikan akte kelahiran
                            //int kwn1 =Integer.valueOf(kwn);
                            //int akte1 =Integer.valueOf(akte);
                            //float prs1=(float)(lhr1/akte1);
                            //String prs=String.valueOf(prs1);
                            String prs="0.1";
                            rowOne.addElement(prs);                  setDataXML(x,5,prs);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 17  ://17 Kepemilikan KTP
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-16 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "(("+tahun1+"-year(tgl_lhr))between 0 and 16) ";
                            String u1=db.getString1(sql1);
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);

                            //kelompok umur >=17 tahun
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "(("+tahun1+"-year(tgl_lhr))between 17 and 100) ";
                            String u2=db.getString1(sql2);
                            rowOne.addElement(u2);                  setDataXML(x,4,u2);

                            //kelompok dengan status ktp
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "stat_ktp=2";                            
                            String u3=db.getString1(sql2);
                            rowOne.addElement(u3);                  setDataXML(x,5,u3);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 18  ://17 Kepemilikan KTP
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);              setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //kelompok umur 1 (0-16 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "(("+tahun1+"-year(tgl_lhr))between 0 and 16) ";
                            String u1=db.getString1(sql1);
                            u1="100";
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);

                            //kelompok umur >=17 tahun
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                    "(("+tahun1+"-year(tgl_lhr))between 17 and 100) ";
                            String u2=db.getString1(sql2);
                            u2="200";
                            rowOne.addElement(u2);                  setDataXML(x,4,u2);
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;



            case 19  ://19 Kepemilikan Dokumen
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);               setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));     setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));
                            //akta lahir
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "akta_lhr=2 ";
                            String u1=db.getString1(sql1);
                            rowOne.addElement(u1);                  setDataXML(x,3,u1);

                            //ktp
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "stat_ktp=2 ";
                            String u2=db.getString1(sql2);
                            rowOne.addElement(u2);                  setDataXML(x,4,u2);

                            //akta kawin
                            sql2="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "akta_kwn=2";
                            String u3=db.getString1(sql2);
                            rowOne.addElement(u3);                  setDataXML(x,5,u3);

                            String kk="10";
                            String mati="20";
                            rowOne.addElement(kk);                  setDataXML(x,6,kk);
                            rowOne.addElement(mati);                setDataXML(x,7,mati);
                            
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break;

            case 20  ://20 Pemilih Pemilu yang Cacat
                     //tahun1="2010";
                     sql="select distinct p.NAMA_PROP, p.NO_PROP " +
                         "from biodata_wni b, setup_prop p " +
                         "where b.no_prop=p.NO_PROP";
                     rs = (ResultSet) db.getResult(sql);
                     if (rs != null) {
                        try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(tahun1);                  setDataXML(x,1,tahun1);
                            rowOne.addElement(rs.getString(1));         setDataXML(x,2,rs.getString(1));
                            int kodeProp=Integer.valueOf(rs.getString(2));

                            //Kelompok Cacat 1=Cacat Fisik, (kawin atau >16 tahun)
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-year(tgl_lhr))>16)or (stat_kwn=2 ) )  and pnydng_cct=1 ";
                            String a=db.getString1(sql1);
                            rowOne.addElement(a);           setDataXML(x,3,a);

                            //Kelompok Cacat=2
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-year(tgl_lhr))>16)or (stat_kwn=2 ) )  and pnydng_cct=2 ";
                            a=db.getString1(sql1);
                            rowOne.addElement(a);           setDataXML(x,4,a);

                            //Kelompok Cacat=3
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-year(tgl_lhr))>16)or (stat_kwn=2 ) )  and pnydng_cct=3 ";
                            a=db.getString1(sql1);
                            rowOne.addElement(a);           setDataXML(x,5,a);

                            //Kelompok Cacat=4
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-year(tgl_lhr))>16)or (stat_kwn=2 ) )  and pnydng_cct=4 ";
                            a=db.getString1(sql1);
                            rowOne.addElement(a);           setDataXML(x,6,a);

                            //Kelompok Cacat=5
                            sql1="select count(*) from biodata_wni b where no_prop="+kodeProp+" and " +
                                 "((("+tahun1+"-year(tgl_lhr))>16)or (stat_kwn=2 ) )  and pnydng_cct=5 ";
                            a=db.getString1(sql1);
                            rowOne.addElement(a);           setDataXML(x,7,a);
                        
                            rowData.addElement(rowOne);
                            x++;
                        }
                        }   catch (SQLException ex) {
                        Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
                     x--;
                    setJumBarisXmlSetQuery2(x);
                    break; 
            default : break;
            }
            
            break; //AKHIR ADMINDUK

  case 2  : //DEPKES-HEROYUDO
             System.out.println("DEPKES");
            
            switch(p) {
                    case 1  ://201 xbayiMatiHidup
                             sql="select year(tahun), jumlahRS, lahirmati,lahirhidup from bayiMatiHidup where year(tahun)="+tahun1;
                             rs = (ResultSet) db.getResult(sql); //mysql
                             if (rs != null) {
                             try {
                                while (rs.next()) {
                                Vector<String> rowOne = new Vector<String>();
                                rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                                rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                                rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                                rowOne.addElement(rs.getString(4));     setDataXML(x,4,rs.getString(4));
                                rowData.addElement(rowOne);
                                x++;
                                }
                                }   catch (SQLException ex) {
                                Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                }
                                x--;
                                setJumBarisXmlSetQuery2(x);
                                System.out.println("2-1");
                            break;

                    case 2  ://xbayiMatiHidup
                            sql="select year(tahun), matiIbu, lahirHidup from maternalIbu where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                            try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                            }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-2");
                            break;

                    case 3  ://xmatiRS
                            sql="select year(tahun), keluar, mati from matiRS where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                             try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                            }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-3");
                            break;

                    case 4  ://xpenyakitUtama
                            sql="select year(tahun),dtd,icd, sebab, mati, prosen from penyakitUtama where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                            try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,4,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,5,rs.getString(5));
                            rowOne.addElement(rs.getString(6));     setDataXML(x,6,rs.getString(6));
                            rowData.addElement(rowOne);
                            x++;
                             }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-4");
                            break;

                    case 5  ://xpenyakitRJ
                            sql="select year(tahun),dtd, sebab, kunjungan, prosen from penyakitRJ where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                            try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,4,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,5,rs.getString(5));
                            rowData.addElement(rowOne);
                            x++;
                            }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-5");
                            break;

                    case 6  ://xpenyakitRI
                            sql="select year(tahun),dtd, icd,sebab, pasien, prosen from penyakitRI where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                            try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowOne.addElement(rs.getString(4));     setDataXML(x,4,rs.getString(4));
                            rowOne.addElement(rs.getString(5));     setDataXML(x,5,rs.getString(5));
                            rowOne.addElement(rs.getString(6));     setDataXML(x,6,rs.getString(6));
                            rowData.addElement(rowOne);
                            x++;
                            }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-6");
                            break;

                    case 7  ://xragamPenyakit
                            sql="select year(tahun),penyakit, jumlah from ragamPenyakit where year(tahun)="+tahun1;
                            rs = (ResultSet) db.getResult(sql); //mysql
                            if (rs != null) {
                            try {
                            while (rs.next()) {
                            Vector<String> rowOne = new Vector<String>();
                            rowOne.addElement(rs.getString(1));     setDataXML(x,1,rs.getString(1));
                            rowOne.addElement(rs.getString(2));     setDataXML(x,2,rs.getString(2));
                            rowOne.addElement(rs.getString(3));     setDataXML(x,3,rs.getString(3));
                            rowData.addElement(rowOne);
                            x++;
                            }
                            }   catch (SQLException ex) {
                            Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            }
                            x--;
                            setJumBarisXmlSetQuery2(x);
                            System.out.println("2-7");
                            break;
                    default : break;
            }
             
            break; //AKHIR DEPKES

    case 3 : //BPS
              System.out.println("BPS");
              switch(p) {
                case 1  : System.out.println("3-1");break;
                case 2  : System.out.println("3-2");break;
                default : System.out.println("3-3");break;
              } 
             break; //AKHIR BPS


    case 4 : //Bappenas
             System.out.println("Bappenas");
              switch(p) {
                case 1  : System.out.println("4-1");break;
                case 2  : System.out.println("4-2");break;
                default : System.out.println("4-3");break;
              }
             break; 
    default : break;

} //akhir switch INSTANSI

        //int z=sd.getJumlahKolom(p);
        //System.out.println("Jumlah Kolom ="+z);
        //for(int i=1; i<=z; i++){ columnNames.addElement(sd.confKolom[p][i]); }
        int noInstansi1=this.noInstansi;
        int noLaporan1=this.noLaporan;
        int z=sd.getJumlahKolom2(noInstansi1, noLaporan1);
        for(int i=1; i<=z; i++) { columnNames.addElement(sd.getJudulKolom2(noInstansi1, noLaporan1, i)); }
        
        if(statusXmlAll1){tulisXML(rowData, columnNames);}

    }//GEN-LAST:event_jButton1ActionPerformed

      private void tulisXML(Vector rowData, Vector columnNames){
        System.out.println("tulisXML" );
        int i=0;
        
        final JTable tableBacaXML = new JTable(rowData, columnNames);
        spBacaXML.getViewport().add(tableBacaXML, null);

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

    }




    private void SaveAsXML(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SaveAsXML
   // Save As XML
   String fileName=null;
   int noLap=this.noLaporan;
   int i=1;
   if(cbAllXml.isSelected()){//menyimpan semua data XML
      int jumlah=jcFileName2.getItemCount();
      //jumlah=1;
      System.out.println("All xml true = "+jumlah);
      for(i=1;i<=jumlah;i++){
          fileName=jcFileName2.getItemAt(i-1).toString();
          //fileName=sd.getViewName(i);
          int urutanFile1=sd.getUrutan(fileName);
          System.out.println(i+" "+fileName);
          this.statusXmlAll=false;
          //showDatabase3(urutanFile1);
          showDatabase3(i);
          isCreateXML2(i,fileName);
      } i--;
      if(i==jumlah)
         {JOptionPane.showMessageDialog(null, "Create All XML Succed", "Succes",JOptionPane.INFORMATION_MESSAGE);
          System.out.println("i="+i+" dan jumlah="+jumlah);
         }
         else {
         JOptionPane.showMessageDialog(null, "Create XML Not Succed", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
          System.out.println("i="+i+" dan jumlah="+jumlah);
         }
   } else { //menngkonversi data ke XML per file
      fileName=jcFileName2.getSelectedItem().toString();
      noLap=this.noLaporan;
      //noLap=jcFileName2.getSelectedIndex()+1;//heroyudo
      //String sql="select xml from setup_report where no="+noFile;
      //System.out.println(sql);
      //fileName=db.getString1(sql);
      System.out.println("Konversi per file ="+fileName);
      if(isCreateXML2(noLap,fileName)){
         
         JOptionPane.showMessageDialog(null, "Create "+fileName+".xml Succed", "Succes",JOptionPane.INFORMATION_MESSAGE);
       } else {
        JOptionPane.showMessageDialog(null, "Create XML Not Succed", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
       }  
   }

  
    }//GEN-LAST:event_SaveAsXML

    private void spXMLMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_spXMLMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_spXMLMouseClicked
  private boolean isCreateXML2(int noLap,String fileName){
      boolean  hasil=true;
      PrintWriter fout=null;
        //String path1=this.getPath();
        //String path1="d:/testing/";
        String tahun1=comboTahun.getSelectedItem().toString();
        String path1=this.getPath()+tahun1+"/";
        //String fileName=jcFileName2.getSelectedItem().toString();
        int y=this.getJumBarisXmlSetQuery2();
        //int urutan=sd.getUrutan(fileName);
        //int noLap=jcFileName2.getSelectedIndex()+1;

        //int jKolom=sd.getJumlahKolom(urutan);
        int jKolom=sd.getJumlahKolom2(this.noInstansi, noLap);
        System.out.println("No Laporan ke-"+noLap+"#jumlah kolom ="+jKolom);
        for(int b=1; b<=jKolom;b++){
          System.out.println("<"+sd.getJudulKolom2(this.noInstansi, noLap, b)+">"+
          this.getDataXML(1,b)+"</"+sd.getJudulKolom2(this.noInstansi, noLap, b)+">");
        }

        //String sql="select count(*) from setup_kolom where no_kolom="+noFile;
        //int jKolom=db.getInteger1(sql);

        //File file=new File("d:/testing/"+filename+".xml");
        System.out.println("Disimpan di ="+path1+fileName+".xml");//hero1
        //cek apakah directory telah ada ???
        //isPathDirectori(path1)


        File file=new File(path1+fileName+".xml");
         if (!file.exists()&& !file.isFile()){
             System.out.println("File tidak ditemukan");//hero1
             JOptionPane.showMessageDialog(null, "Path belum ada", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
             isPathDirectory(path1);
         }
        try{
         fout = new PrintWriter(new FileWriter(file));
         fout.println("<?xml version='1.0' encoding='UTF-8'?>");
         fout.println("<data>");
         for (int a=1;a<=y;a++){
             fout.println("<row>");
             for(int b=1; b<=jKolom;b++){
                fout.println("<"+sd.getJudulKolom2(this.noInstansi, noLap, b)+">"+
                this.getDataXML(a,b)+"</"+sd.getJudulKolom2(this.noInstansi, noLap, b)+">");
             }
             fout.println("</row>");
         }

         //akhir memasukkan data
         fout.println("</data>");
         fout.flush();
        }
 

        catch(IOException e){
          fout.close();
          hasil=false;
        }
        if(hasil==true)
         {Area1.append("\nCreate "+fileName+".xml Succed");}else
         {Area1.append("\nCreate "+fileName+".xml failed");}
        return hasil;
    }

private boolean isPathDirectory(String pathDirectory){
 boolean hasil=false;
 /*
    boolean success = (new File(strDirectoy)).mkdir();
    if (success) {
      System.out.println("Directory: " + strDirectoy + " created");
    }


  */


    try{
    // Create multiple directories
    boolean success = (new File(pathDirectory)).mkdirs();
    if (success) {
      System.out.println("Directories: " + pathDirectory + " created");
    }
    }catch (Exception e){//Catch exception if any
      System.err.println("Error: " + e.getMessage());
    }
    return hasil;
}


    @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 {
//readConfig2(String namaFile)       
System.out.println("readCONFIG-2");
String path=this.getPath()+"/"+comboTahun.getSelectedItem().toString()+"/";
 //String pathFile="D:/testing/"+namaFile;
String pathFile=path+namaFile;
//System.out.println("PathFile ="+pathFile);
 //settingData sd=new settingData();
 //sd.setDataAwal();

 
 //int urutan1=sd.getUrutan(namaFile);
 //int urutan1=sd.getUrutanFileName(namaFile);
 //int urutan1=noLap;
 //int jumKolom1=sd.getJumlahKolom(urutan1);
 //int noInst=noInst;
 //int noLap=this.noLaporan;
 //noLap=1;
 //int jumKolom1=sd.getJumlahKolom2(noInst , noLap);
 System.out.println(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)); }
 
 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.getJudul(urutan1, y))) {//kode[y]
              if (event.asStartElement().getName().getLocalPart().equals(sd.getJudulKolom2(noInst,noLap, y) )) {//kode[y]
                  System.out.println("RC2-judul = "+sd.getJudulKolom2(noInst,noLap,y));
                        if(y==1){x1++;}
			event = eventReader.nextEvent();
                        String z=event.asCharacters().getData().toString();
                        System.out.println("readConfig2 ="+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
 
 jumBaris=x1;
 //this.jumBaris=x1;
 //System.out.println("test 5a- jumlah Baris ="+Integer.toString(jumBaris));
 }


    @SuppressWarnings("empty-statement")
    public void hasilKoneksi(int noInstansi,String input1,String input2,String input3, String input4,
                             int pilihan,String path) throws SQLException{
        //koneksi(int pilihan,String server,String database,String user,String password)
        System.out.println("No Instansi="+noInstansi);
        //System.out.println(input1+"-"+input2+"-"+input3+"-"+input4);
        this.noInstansi=noInstansi;
        this.setPath(path);
        switch(noInstansi){           
            case 1: this.setPath(path+"adminduk/");
                    this.dirFtp="adminduk/";
                    break;
            case 2: this.setPath(path+"depkes/");
                    this.dirFtp="depkes/";
                    break;
            case 3: this.setPath(path+"bps/");
                    this.dirFtp="bps/";
                    break;
            case 4: this.setPath(path+"bappenas/");
                    this.dirFtp="bappenas/";
                    break;
            default : break;
        };

        //listInstansi(noInstansi);
        stateButton(1);
        db=new database();//(pilihan,server,database,user,password)
        dbo=new databaseOracle();

        switch (pilihan) {
            case 0 :  // koneksi ke mysql
                     if(!db.koneksi1(pilihan,input1,input2,input3,input4))
                     {
                        JOptionPane.showMessageDialog(null, "Not Connect MySQL Successfully", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
                        this.statusConnect=false;
                    } else {
                        JOptionPane.showMessageDialog(null, "Connect MySQL Successfully", "Succes",JOptionPane.INFORMATION_MESSAGE);
                        this.jenisDBServer=pilihan;
                        System.out.println("Jenis DB Server ="+jenisDBServer);
                        this.statusConnect=true;
                        mnConnect.setEnabled(false);
                        mnDisconect.setEnabled(true);
                        listInstansi(noInstansi);
                     }
                        stateButton(1);
                        break;
            case 1 :  //koneksi ke oracle
                      if(!dbo.koneksiOracle(input1,input2,input3,input4))
                      { JOptionPane.showMessageDialog(null, "Not Connect Oracle Successfully", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
                        this.statusConnect=false;
                      } else {
                        JOptionPane.showMessageDialog(null, "Connect Oracle Successfully", "Succes",JOptionPane.INFORMATION_MESSAGE);
                        this.jenisDBServer=pilihan;
                        System.out.println("Jenis DB Server ="+jenisDBServer);
                        this.statusConnect=true;
                        mnConnect.setEnabled(false);
                        mnDisconect.setEnabled(true);
                        listInstansi(noInstansi);
                      }stateButton(1);
                      break;


            default :  JOptionPane.showMessageDialog(null, "Database Not Configured", "Not Succes",JOptionPane.INFORMATION_MESSAGE);
                       break;
        }
 }

  private void listInstansi(int noInstansi) throws SQLException, SQLException, SQLException{
  //settingData sd=new settingData();
  System.out.println("no Instansi-2="+noInstansi);
  sd.setDataAwal();
  jcFileName2.removeAllItems();
  jcFileName.removeAllItems();
  int i,j;

  //--- Setting Tahun --------------//
/*  int year1=2010;
  for(int i=0; i<=15; i++){
      int year=year1-i;
      comboTahun.setSelectedItem(String.valueOf(year));
  }*/





  //----------------------------------//



  //noInstansi++;
  switch(noInstansi){
       case 1 : //Adminduk
                System.out.println("masuk List Instans Adminduk");
                for(int x=1;x<=20;x++){
                  //jcFileName.addItem(sd.getViewName(x));
                  //jcFileName2.addItem(sd.getViewName(x));
                  jcFileName2.addItem(sd.getViewName2(1,x));
                } break;
       case 2 : //Depkes
                System.out.println("masuk List Instans Depkes");
                ;
                for(int x=1; x<=7; x++){
                  //jcFileName.addItem(sd.getViewName(x));
                  jcFileName2.addItem(sd.getViewName2(2,x));
                }

                System.out.println("statusConnect="+this.statusConnect);
              /*  String sql="select report from setup_report order by no";
                java.sql.ResultSet rs = db.getResult(sql);
                if (rs != null) {
                   while (rs.next()) {
                    jcFileName2.addItem(rs.getString(1));
                }
                } */

                break;
       case 3 : //BPS
                System.out.println("masuk List Instans BPS");
                for(int x=1; x<=3; x++){
                  jcFileName.addItem(sd.getViewName(x));
                  jcFileName2.addItem(sd.getViewName2(3,x));
                } break;

       case 4 : //Bappenas
                System.out.println("masuk List Instans Bappenas");
                for(int x=1; x<=3; x++){
                  //jcFileName.addItem(sd.getViewName(x));
                  jcFileName2.addItem(sd.getViewName2(4,x));
                  System.out.println(x+"="+sd.getViewName2(4,x));
                } break;

      default : break;


   }

  }
  
  private void stateButton(int jenis){
         switch (jenis) {
            case 0 : System.out.println("jenis=0-properties mati");
                     //tab Set Query2
                     jcFileName2.removeAllItems();
                     jcFileName.removeAllItems();
                     spBacaXML.remove(1);
                     

                     //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);
                     jbEditQuery.setEnabled(false);
                     txtTahun.setEnabled(false);
                     txtTahun.setEnabled(false);

                     //tab3 Set Data
                     jbClear.setEnabled(false);
                     jbSave.setEnabled(false);
                     jcFileName.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);
                     jbEditQuery.setEnabled(true);
                     txtTahun.setEnabled(true);
                     txtTahun.setEnabled(true);

                      //tab3 Set Data
                     jbClear.setEnabled(true);
                     jbSave.setEnabled(true);
                     jcFileName.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 showQuery2(){
        //Tab Convert from Database-Refresh
        Vector<String> columnNames  = new Vector<String>();
        Vector<Vector> rowData      = new Vector<Vector>();

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

        columnNames.addElement("No");
        columnNames.addElement("Query ");
        columnNames.addElement("File name");
        columnNames.addElement("Description");

        final JTable table_query = new JTable(rowData, columnNames);
        jScrollPane8.getViewport().add(table_query, null);
       // jumBaris_TQ=table_query.getRowCount(); nama variabel diganti 14/5/10
        this.jumBrsTableQuery=table_query.getRowCount();
        //System.out.println("test 0 ="+String.valueOf(jumBrsTableQuery));

        TableColumn kolom1 = null;
        TableColumn kolom2 = null;
        kolom1 = table_query.getColumnModel().getColumn(1);
        kolom1.setPreferredWidth(10);
        table_query.repaint();
 
       table_query.addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            int x=table_query.getSelectedRow();
            //namaAtribut1=(String) table_query1.getValueAt(x,0);
            String queryCode=(String) table_query.getValueAt(x,1);
            String file1=(String) table_query.getValueAt(x,2);
            String desc1=(String) table_query.getValueAt(x,3);
            setRDQuery(queryCode,file1,desc1);
            System.out.println(queryCode);
            System.out.println(file1);
            System.out.println(desc1);
            jTextArea1.setText(queryCode);            
        }
    });
     //mengatur lebar kolom
    }

    private void setRDQuery(String query, String fileName, String desc){
        this.queryRD=query;
        this.fileNameRD=fileName;
        this.descRF=desc;
    }
    

 
    /**
    * @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 Area2;
    private javax.swing.JTabbedPane Report;
    private javax.swing.JTextArea areaQuery;
    private javax.swing.JTextField as1;
    private javax.swing.JTextField as2;
    private javax.swing.JButton bClear;
    private javax.swing.JButton bCreateQuery;
    private javax.swing.JButton bDelete;
    private javax.swing.JButton bEdit;
    private javax.swing.JButton bInsert;
    private javax.swing.JButton bNewQuery;
    private javax.swing.JButton bRefresh;
    private javax.swing.JButton bRefresh2;
    private javax.swing.JButton bRun;
    private javax.swing.JButton bRun2;
    private javax.swing.JButton bSave;
    private javax.swing.JComboBox cFieldName;
    private javax.swing.JComboBox cTableName;
    private javax.swing.JCheckBox cbAllXml;
    private javax.swing.JCheckBox cekFrom;
    private javax.swing.JComboBox comboTahun;
    private javax.swing.JComboBox comboTahun2;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    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 jPanel10;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JTextArea jQuery;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JButton jbClear;
    private javax.swing.JButton jbEditQuery;
    private javax.swing.JButton jbSave;
    private javax.swing.JComboBox jcFileName;
    private javax.swing.JComboBox jcFileName2;
    private javax.swing.JMenuItem mnConnect;
    private javax.swing.JMenuItem mnDisconect;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JScrollPane spBacaXML;
    private javax.swing.JScrollPane spSettingQuery;
    private javax.swing.JScrollPane spXML;
    private javax.swing.JCheckBox tahun;
    private javax.swing.JTextField txtDescription;
    private javax.swing.JTextField txtFileName;
    private javax.swing.JTextField txtFrom;
    private javax.swing.JTextField txtTahun;
    private javax.swing.JTextField txtWhere;
    // End of variables declaration//GEN-END:variables

}
