Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package the_GUI;
- import net.proteanit.sql.DbUtils;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.sql.*;
- import java.util.ArrayList;
- public class Gooey
- {
- private static final String user = "root";
- private static final String password = "";
- private static String url = "jdbc:mysql://localhost:3306/test";
- private static Connection con;
- private static Statement stmt;
- private static ResultSet rs;
- String query = new String();
- String selectedtext;
- ArrayList<String> rownames = new ArrayList<String>();
- ArrayList<String> tables = new ArrayList<String>();
- private JPanel panel1;
- private JButton executeSQLQueryButton;
- private JTextField textField1;
- private JTable table1;
- private JTextField availableTablesTextField;
- private JComboBox comboBox6;
- private JComboBox comboBox4;
- private JComboBox comboBox3;
- private JComboBox comboBox2;
- private JComboBox comboBox1;
- private JComboBox comboBox5;
- public Gooey()
- {
- rownames.add("");
- try //populate tabelle combo box
- {
- query = "show tables";
- con = DriverManager.getConnection(url, user, password);
- stmt = con.createStatement();
- rs = stmt.executeQuery(query);
- DatabaseMetaData meta = con.getMetaData();
- ResultSet rs1 = meta.getTables(null, null, null, new String[]{"TABLE"});
- while (rs1.next())
- {
- tables.add(rs1.getString("TABLE_NAME"));
- //availableTablesTextField.setText(availableTablesTextField.getText() + rs1.getString("TABLE_NAME") + ", ");
- //System.out.println(rs1.getString("TABLE_NAME"));
- }
- System.out.println(tables);
- comboBox3.setModel(new DefaultComboBoxModel(tables.toArray()));
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- try
- {
- System.out.println(tables.get(0));
- query = "select * from " + tables.get(0);
- con = DriverManager.getConnection(url, user, password);
- stmt = con.createStatement();
- rs = stmt.executeQuery(query);
- table1.setModel(DbUtils.resultSetToTableModel(rs));
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- query = "SELECT * FROM " + tables.get(0);
- try
- {
- con = DriverManager.getConnection(url, user, password);
- stmt = con.createStatement();
- rs = stmt.executeQuery(query);
- //populate
- ResultSetMetaData rsMetaData = rs.getMetaData();
- int numberOfColumns = rsMetaData.getColumnCount();
- for (int i = 1; i <= numberOfColumns; i++)
- {
- System.out.println("column MetaData ");
- System.out.println("column number " + i);
- System.out.println(rsMetaData.getColumnName(i));
- rownames.add(rsMetaData.getColumnName(i));
- }
- comboBox1.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox2.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox4.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox5.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox6.setModel(new DefaultComboBoxModel(rownames.toArray()));
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- executeSQLQueryButton.addActionListener(new ActionListener() //rewrite to work with combo boxes
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- try //get row names
- {
- query = "select ";
- query += comboBox1.getSelectedItem().toString();
- if (!comboBox2.getSelectedItem().toString().equals(""))
- query += ", " + comboBox2.getSelectedItem().toString();
- if (!comboBox4.getSelectedItem().toString().equals(""))
- query += ", " + comboBox4.getSelectedItem().toString();
- if (!comboBox5.getSelectedItem().toString().equals(""))
- query += ", " + comboBox5.getSelectedItem().toString();
- if (!comboBox6.getSelectedItem().toString().equals(""))
- query += ", " + comboBox6.getSelectedItem().toString();
- query += " FROM " + comboBox3.getSelectedItem().toString();
- con = DriverManager.getConnection(url, user, password);
- stmt = con.createStatement();
- rs = stmt.executeQuery(query);
- table1.setModel(DbUtils.resultSetToTableModel(rs));
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- }
- });
- comboBox3.addItemListener(new ItemListener()
- {
- @Override
- public void itemStateChanged(ItemEvent e)
- {
- if (e.getStateChange() == ItemEvent.SELECTED)
- {
- //Object item = e.getItem();
- selectedtext = comboBox3.getSelectedItem().toString();
- query = "SELECT * FROM " + selectedtext;
- try
- {
- con = DriverManager.getConnection(url, user, password);
- stmt = con.createStatement();
- rs = stmt.executeQuery(query);
- //populate
- ResultSetMetaData rsMetaData = rs.getMetaData();
- int numberOfColumns = rsMetaData.getColumnCount();
- rownames.clear();
- rownames.add("");
- for (int i = 1; i <= numberOfColumns; i++)
- {
- System.out.println("column MetaData ");
- System.out.println("column number " + i);
- System.out.println(rsMetaData.getColumnName(i));
- rownames.add(rsMetaData.getColumnName(i));
- }
- comboBox1.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox2.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox4.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox5.setModel(new DefaultComboBoxModel(rownames.toArray()));
- comboBox6.setModel(new DefaultComboBoxModel(rownames.toArray()));
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- }
- }
- });
- }
- public static void main(String[] args)
- {
- ArrayList<String> asking = new ArrayList<String>();
- //ArrayList asking = new ArrayList();
- JFrame frame = new JFrame("App");
- try
- {
- con = DriverManager.getConnection(url, user, password);
- DatabaseMetaData meta = con.getMetaData();
- ResultSet rs1 = meta.getCatalogs();
- while (rs1.next())
- {
- asking.add(rs1.getString("TABLE_CAT"));
- }
- } catch (Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.toString());
- }
- String[] options = asking.toArray(new String[0]);
- String dbname = (String) JOptionPane.showInputDialog(frame, "Select database", "Select Database", JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
- url = "jdbc:mysql://localhost:3306/" + dbname;
- frame.setContentPane(new Gooey().panel1);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.pack();
- frame.setPreferredSize(new Dimension(1200, 640));
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement