Advertisement
stevennathaniel

SQL Pencarian Berdasar Nama Tabel & Kolom

May 11th, 2015
391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.99 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.  
  9. import javax.swing.SwingUtilities;
  10.  
  11. import javax.swing.JTable;
  12.  
  13. import java.sql.Connection;
  14.  
  15. import java.sql.DriverManager;
  16.  
  17. import java.sql.ResultSet;
  18.  
  19. import java.sql.ResultSetMetaData;
  20.  
  21. import java.sql.Statement;
  22.  
  23. import java.util.logging.Level;
  24.  
  25. import java.util.logging.Logger;
  26.  
  27. import javax.swing.table.DefaultTableModel;
  28.  
  29. import java.sql.*;
  30.  
  31. import java.util.Locale;
  32.  
  33. import java.util.Vector;
  34.  
  35.  
  36.  
  37.  
  38.  
  39. /**
  40.  *
  41.  * @author steven
  42.  */
  43. public class CariData4 extends javax.swing.JFrame {
  44.  
  45.     /**
  46.      * Creates new form CariData4
  47.      */
  48.     public CariData4() {
  49.         initComponents();
  50.        
  51.         jComboBox1.addItem("testdatapegawai1");
  52.        
  53.         jComboBox1.addItem("istri");
  54.        
  55.         jComboBox1.addItem("anak");
  56.        
  57.        
  58.        
  59.        
  60.        
  61.        
  62.        
  63.     }
  64.  
  65.     /**
  66.      * This method is called from within the constructor to initialize the form.
  67.      * WARNING: Do NOT modify this code. The content of this method is always
  68.      * regenerated by the Form Editor.
  69.      */
  70.     @SuppressWarnings("unchecked")
  71.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  72.     private void initComponents() {
  73.  
  74.         jButton1 = new javax.swing.JButton();
  75.         jTextField1 = new javax.swing.JTextField();
  76.         jComboBox1 = new javax.swing.JComboBox();
  77.         jLabel1 = new javax.swing.JLabel();
  78.         jScrollPane1 = new javax.swing.JScrollPane();
  79.         jTable1 = new javax.swing.JTable();
  80.  
  81.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  82.  
  83.         jButton1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  84.         jButton1.setText("Cari");
  85.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  86.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  87.                 jButton1ActionPerformed(evt);
  88.             }
  89.         });
  90.  
  91.         jTextField1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  92.  
  93.         jComboBox1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  94.  
  95.         jLabel1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  96.         jLabel1.setText("Nama Tabel");
  97.  
  98.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  99.             new Object [][] {
  100.                 {null, null, null, null},
  101.                 {null, null, null, null},
  102.                 {null, null, null, null},
  103.                 {null, null, null, null}
  104.             },
  105.             new String [] {
  106.                 "Title 1", "Title 2", "Title 3", "Title 4"
  107.             }
  108.         ));
  109.         jScrollPane1.setViewportView(jTable1);
  110.  
  111.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  112.         getContentPane().setLayout(layout);
  113.         layout.setHorizontalGroup(
  114.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  115.             .addGroup(layout.createSequentialGroup()
  116.                 .addContainerGap()
  117.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  118.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 911, Short.MAX_VALUE)
  119.                     .addGroup(layout.createSequentialGroup()
  120.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  121.                             .addComponent(jLabel1)
  122.                             .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
  123.                         .addGap(18, 18, 18)
  124.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  125.                             .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
  126.                             .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))
  127.                         .addGap(0, 0, Short.MAX_VALUE)))
  128.                 .addContainerGap())
  129.         );
  130.         layout.setVerticalGroup(
  131.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  132.             .addGroup(layout.createSequentialGroup()
  133.                 .addContainerGap()
  134.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  135.                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  136.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
  137.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  138.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  139.                     .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  140.                     .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
  141.                 .addGap(18, 18, 18)
  142.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  143.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  144.         );
  145.  
  146.         pack();
  147.     }// </editor-fold>                        
  148.  
  149.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  150.         // TODO add your handling code here:
  151.        
  152.        
  153.         String kataKunci = jTextField1.getText();
  154.        
  155.         String namaTabel = jComboBox1.getSelectedItem().toString();
  156.        
  157.        
  158.         Connection Koneksi = null;
  159.        
  160.         Statement stmt = null;
  161.        
  162.         PreparedStatement PSCari = null;
  163.        
  164.        
  165.         String cariData = "select nik,namalengkap from " + namaTabel + " where to_tsvector(nik) @@ to_tsquery(" + kataKunci + ")";
  166.        
  167.         String url = "jdbc:postgresql://localhost:5432/pdam";
  168.        
  169.         String user = "steven";
  170.        
  171.         String password = "kucing";
  172.        
  173.        
  174.         try{
  175.            
  176.            
  177.             Koneksi = DriverManager.getConnection(url,user,password);
  178.            
  179.             stmt = Koneksi.createStatement();
  180.            
  181.             ResultSet rs = stmt.executeQuery(cariData);
  182.            
  183.             ResultSetMetaData  rsmd = rs.getMetaData();
  184.            
  185.             Vector<Vector> coba2 = new Vector<Vector>();
  186.            
  187.             while(rs.next()){
  188.                
  189.                
  190.                 Vector<String> isiBaris = new Vector<String>();
  191.                
  192.                 isiBaris.add(rs.getString("nik"));
  193.                
  194.                 isiBaris.add(rs.getString("namalengkap"));
  195.                
  196.                
  197.                 coba2.add(isiBaris);
  198.                
  199.                
  200.                 Vector<String> namaKolom = new Vector<String>();
  201.                
  202.                 namaKolom.addElement(rsmd.getColumnLabel(1));
  203.                
  204.                 namaKolom.addElement(rsmd.getColumnLabel(2));
  205.                
  206.                
  207.                 DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  208.                
  209.                 jTable1.setModel(tabel1);
  210.                
  211.                 Koneksi.close();
  212.                
  213.                
  214.             }
  215.                
  216.                
  217.             }catch (SQLException ex){
  218.            
  219.             ex.printStackTrace();
  220.            
  221.            
  222.         }
  223.        
  224.        
  225.     }                                        
  226.  
  227.     /**
  228.      * @param args the command line arguments
  229.      */
  230.     public static void main(String args[]) {
  231.         /* Set the Nimbus look and feel */
  232.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  233.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  234.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  235.          */
  236.         try {
  237.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  238.                 if ("Nimbus".equals(info.getName())) {
  239.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  240.                     break;
  241.                 }
  242.             }
  243.         } catch (ClassNotFoundException ex) {
  244.             java.util.logging.Logger.getLogger(CariData4.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  245.         } catch (InstantiationException ex) {
  246.             java.util.logging.Logger.getLogger(CariData4.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  247.         } catch (IllegalAccessException ex) {
  248.             java.util.logging.Logger.getLogger(CariData4.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  249.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  250.             java.util.logging.Logger.getLogger(CariData4.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  251.         }
  252.         //</editor-fold>
  253.  
  254.         /* Create and display the form */
  255.         java.awt.EventQueue.invokeLater(new Runnable() {
  256.             public void run() {
  257.                 new CariData4().setVisible(true);
  258.             }
  259.         });
  260.     }
  261.  
  262.     // Variables declaration - do not modify                    
  263.     private javax.swing.JButton jButton1;
  264.     private javax.swing.JComboBox jComboBox1;
  265.     private javax.swing.JLabel jLabel1;
  266.     private javax.swing.JScrollPane jScrollPane1;
  267.     private javax.swing.JTable jTable1;
  268.     private javax.swing.JTextField jTextField1;
  269.     // End of variables declaration                  
  270. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement