Advertisement
stevennathaniel

Pencarian Untuk VARCHAR ( Penyempurnaan Sebelumnya )

May 12th, 2015
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.83 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package latihan15;
  7.  
  8. import javax.swing.SwingUtilities;
  9.  
  10. import javax.swing.JTable;
  11.  
  12. import java.sql.Connection;
  13.  
  14. import java.sql.DriverManager;
  15.  
  16. import java.sql.ResultSet;
  17.  
  18. import java.sql.ResultSetMetaData;
  19.  
  20. import java.sql.Statement;
  21.  
  22. import java.util.logging.Level;
  23.  
  24. import java.util.logging.Logger;
  25.  
  26. import javax.swing.table.DefaultTableModel;
  27.  
  28. import java.sql.*;
  29.  
  30. import java.util.Locale;
  31.  
  32. import java.util.Vector;
  33.  
  34.  
  35.  
  36. /**
  37.  *
  38.  * @author steven
  39.  */
  40. public class CariData5 extends javax.swing.JFrame {
  41.  
  42.     /**
  43.      * Creates new form CariData5
  44.      */
  45.     public CariData5() {
  46.         initComponents();
  47.        
  48.         // ComboBox nama tabel
  49.        
  50.         jComboBox2.addItem("testdatapegawai1");
  51.        
  52.         jComboBox2.addItem("istri");
  53.        
  54.         jComboBox2.addItem("anak");
  55.        
  56.        
  57.         // ComboBox nama kolom
  58.        
  59.         jComboBox1.addItem("id");
  60.        
  61.         jComboBox1.addItem("nik");
  62.        
  63.         jComboBox1.addItem("namalengkap");
  64.        
  65.         jComboBox1.addItem("jeniskelamin");
  66.        
  67.         jComboBox1.addItem("agama");
  68.        
  69.         jComboBox1.addItem("golongandarah");
  70.        
  71.         jComboBox1.addItem("statuspernikahan");
  72.        
  73.         jComboBox1.addItem("jumlahistri");
  74.        
  75.         jComboBox1.addItem("jumlahanak");
  76.        
  77.         jComboBox1.addItem("alamat");
  78.        
  79.         jComboBox1.addItem("tempatlahir");
  80.        
  81.         jComboBox1.addItem("tanggallahir");
  82.        
  83.         jComboBox1.addItem("nomerktp");
  84.        
  85.         jComboBox1.addItem("berkerjamulaitanggal");
  86.        
  87.        
  88.        
  89.        
  90.        
  91.        
  92.        
  93.     }
  94.  
  95.     /**
  96.      * This method is called from within the constructor to initialize the form.
  97.      * WARNING: Do NOT modify this code. The content of this method is always
  98.      * regenerated by the Form Editor.
  99.      */
  100.     @SuppressWarnings("unchecked")
  101.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  102.     private void initComponents() {
  103.  
  104.         jButton1 = new javax.swing.JButton();
  105.         jTextField1 = new javax.swing.JTextField();
  106.         jLabel1 = new javax.swing.JLabel();
  107.         jComboBox1 = new javax.swing.JComboBox();
  108.         jLabel2 = new javax.swing.JLabel();
  109.         jComboBox2 = new javax.swing.JComboBox();
  110.         jScrollPane1 = new javax.swing.JScrollPane();
  111.         jTable1 = new javax.swing.JTable();
  112.  
  113.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  114.  
  115.         jButton1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  116.         jButton1.setText("Cari");
  117.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  118.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  119.                 jButton1ActionPerformed(evt);
  120.             }
  121.         });
  122.  
  123.         jTextField1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  124.  
  125.         jLabel1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  126.         jLabel1.setText("Nama Kolom");
  127.  
  128.         jComboBox1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  129.  
  130.         jLabel2.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  131.         jLabel2.setText("Nama Tabel");
  132.  
  133.         jComboBox2.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  134.  
  135.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  136.             new Object [][] {
  137.                 {null, null, null, null},
  138.                 {null, null, null, null},
  139.                 {null, null, null, null},
  140.                 {null, null, null, null}
  141.             },
  142.             new String [] {
  143.                 "Title 1", "Title 2", "Title 3", "Title 4"
  144.             }
  145.         ));
  146.         jScrollPane1.setViewportView(jTable1);
  147.  
  148.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  149.         getContentPane().setLayout(layout);
  150.         layout.setHorizontalGroup(
  151.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  152.             .addGroup(layout.createSequentialGroup()
  153.                 .addContainerGap()
  154.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  155.                     .addComponent(jScrollPane1)
  156.                     .addGroup(layout.createSequentialGroup()
  157.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  158.                             .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
  159.                             .addComponent(jLabel1))
  160.                         .addGap(18, 18, 18)
  161.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  162.                             .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
  163.                             .addGroup(layout.createSequentialGroup()
  164.                                 .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
  165.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  166.                                 .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
  167.                                 .addGap(18, 18, 18)
  168.                                 .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)))
  169.                         .addGap(0, 80, Short.MAX_VALUE)))
  170.                 .addContainerGap())
  171.         );
  172.         layout.setVerticalGroup(
  173.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  174.             .addGroup(layout.createSequentialGroup()
  175.                 .addContainerGap()
  176.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  177.                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  178.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  179.                     .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  180.                     .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
  181.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  182.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  183.                     .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  184.                     .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
  185.                 .addGap(18, 18, 18)
  186.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  187.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  188.         );
  189.  
  190.         pack();
  191.     }// </editor-fold>                        
  192.  
  193.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  194.         // TODO add your handling code here:
  195.        
  196.        
  197.         String variabelKataKunci = jTextField1.getText();
  198.        
  199.         String variabelNamaTabel = jComboBox2.getSelectedItem().toString();
  200.        
  201.         String variabelNamaKolom = jComboBox1.getSelectedItem().toString();
  202.        
  203.        
  204.         Connection koneksi = null;
  205.        
  206.         Statement stmt = null;
  207.        
  208.         PreparedStatement PSCari = null;
  209.        
  210.        
  211.         String cariData = "SELECT * from " + variabelNamaTabel + " WHERE to_tsvector(" + variabelNamaKolom + ") @@ to_tsquery(" + variabelKataKunci + ")";
  212.        
  213.         String url = "jdbc:postgresql://localhost:5432/pdam";
  214.        
  215.         String user = "steven";
  216.        
  217.         String password = "kucing";
  218.        
  219.        
  220.         try{
  221.            
  222.            
  223.             koneksi = DriverManager.getConnection(url,user,password);
  224.            
  225.             stmt = koneksi.createStatement();
  226.            
  227.             ResultSet rs = stmt.executeQuery(cariData);
  228.            
  229.             ResultSetMetaData rsmd = rs.getMetaData();
  230.            
  231.            
  232.             Vector<Vector> coba2 = new Vector<Vector>();
  233.            
  234.             while(rs.next()){
  235.                
  236.                
  237.                 Vector<String> isiBaris = new Vector<String>();
  238.                
  239.                 isiBaris.add(rs.getString("id"));
  240.                
  241.                 isiBaris.add(rs.getString("nik"));
  242.                
  243.                 isiBaris.add(rs.getString("namalengkap"));
  244.                
  245.                 isiBaris.add(rs.getString("jeniskelamin"));
  246.                
  247.                 isiBaris.add(rs.getString("agama"));
  248.                
  249.                 isiBaris.add(rs.getString("golongandarah"));
  250.                
  251.                 isiBaris.add(rs.getString("statuspernikahan"));
  252.                
  253.                 isiBaris.add(rs.getString("jumlahistri"));
  254.                
  255.                 isiBaris.add(rs.getString("jumlahanak"));
  256.                
  257.                 isiBaris.add(rs.getString("alamat"));
  258.                
  259.                 isiBaris.add(rs.getString("tempatlahir"));
  260.                
  261.                 isiBaris.add(rs.getString("tanggallahir"));
  262.                
  263.                 isiBaris.add(rs.getString("nomerktp"));
  264.                
  265.                 isiBaris.add(rs.getString("berkerjamulaitanggal"));
  266.                
  267.                
  268.                 coba2.add(isiBaris);
  269.                
  270.                 Vector<String> namaKolom = new Vector<String>();
  271.                
  272.                 namaKolom.addElement(rsmd.getColumnLabel(1));
  273.                
  274.                 namaKolom.addElement(rsmd.getColumnLabel(2));
  275.                
  276.                 namaKolom.addElement(rsmd.getColumnLabel(3));
  277.                
  278.                 namaKolom.addElement(rsmd.getColumnLabel(4));
  279.                
  280.                 namaKolom.addElement(rsmd.getColumnLabel(5));
  281.                
  282.                 namaKolom.addElement(rsmd.getColumnLabel(6));
  283.                
  284.                 namaKolom.addElement(rsmd.getColumnLabel(7));
  285.                
  286.                 namaKolom.addElement(rsmd.getColumnLabel(8));
  287.                
  288.                 namaKolom.addElement(rsmd.getColumnLabel(9));
  289.                
  290.                 namaKolom.addElement(rsmd.getColumnLabel(10));
  291.                
  292.                 namaKolom.addElement(rsmd.getColumnLabel(11));
  293.                
  294.                 namaKolom.addElement(rsmd.getColumnLabel(12));
  295.                
  296.                 namaKolom.addElement(rsmd.getColumnLabel(13));
  297.                
  298.                 namaKolom.addElement(rsmd.getColumnLabel(14));
  299.                
  300.                
  301.                 DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  302.                
  303.                 jTable1.setModel(tabel1);
  304.                
  305.                 koneksi.close();
  306.                
  307.                
  308.             }
  309.            
  310.         } catch (SQLException ex) {
  311.            
  312.             ex.printStackTrace();
  313.                
  314.             }
  315.            
  316.        
  317.        
  318.     }                                        
  319.  
  320.     /**
  321.      * @param args the command line arguments
  322.      */
  323.     public static void main(String args[]) {
  324.         /* Set the Nimbus look and feel */
  325.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  326.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  327.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  328.          */
  329.         try {
  330.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  331.                 if ("Nimbus".equals(info.getName())) {
  332.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  333.                     break;
  334.                 }
  335.             }
  336.         } catch (ClassNotFoundException ex) {
  337.             java.util.logging.Logger.getLogger(CariData5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  338.         } catch (InstantiationException ex) {
  339.             java.util.logging.Logger.getLogger(CariData5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  340.         } catch (IllegalAccessException ex) {
  341.             java.util.logging.Logger.getLogger(CariData5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  342.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  343.             java.util.logging.Logger.getLogger(CariData5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  344.         }
  345.         //</editor-fold>
  346.  
  347.         /* Create and display the form */
  348.         java.awt.EventQueue.invokeLater(new Runnable() {
  349.             public void run() {
  350.                 new CariData5().setVisible(true);
  351.             }
  352.         });
  353.     }
  354.  
  355.     // Variables declaration - do not modify                    
  356.     private javax.swing.JButton jButton1;
  357.     private javax.swing.JComboBox jComboBox1;
  358.     private javax.swing.JComboBox jComboBox2;
  359.     private javax.swing.JLabel jLabel1;
  360.     private javax.swing.JLabel jLabel2;
  361.     private javax.swing.JScrollPane jScrollPane1;
  362.     private javax.swing.JTable jTable1;
  363.     private javax.swing.JTextField jTextField1;
  364.     // End of variables declaration                  
  365. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement