I'm trying to create a table and add values to sql by using table in java swing. But in for loop i doesn't incrementing at all. I think its because of while(rs2.next()).When i place it out of for loop i get this error: "Before start of result set". I need help!
EDIT: Those problems above is handled but i have new problem now. It seems like JTable not updating itself. When i chose a table name in combobox table application crashes and give array index out of bounds exception.
My code is here:
public class DBC extends JFrame{
static String tablo;
static JTextField tf = new JTextField(20);
static int columnCount;
static JPanel tfPanel = new JPanel();
static String[] sutunlar;
static JLabel sutunLabel;
static JPanel sutunPanel = new JPanel(new BorderLayout());
static JTable table;
static JScrollPane scrollPane;
public static void main(String[] args) throws Exception {
    Class.forName("com.mysql.jdbc.Driver");
    Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/project"
              ,"root","123456789");
    final Statement statement = connect.createStatement();
    JLabel tabloSec = new JLabel("Tablo Seçin:");
    final JComboBox<String> tablolar = new JComboBox<String>();
    final DatabaseMetaData md = connect.getMetaData();
    final ResultSet rs = md.getTables(null, null, "%", null);
    while (rs.next()) {
        tablolar.addItem(rs.getString(3));
    }
    tablolar.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent arg0) {
            tablo = tablolar.getSelectedItem().toString();
            try {
                 ResultSet rs2 = statement.executeQuery("SELECT * FROM "+tablo);
                 ResultSetMetaData rsmd = rs2.getMetaData();
                 columnCount = rsmd.getColumnCount();
                 sutunlar = new String[columnCount];
                 table = new JTable(1,columnCount);
                 Object columnNames[] = new Object[columnCount];
                 Object rowData[][] = {{""}};
                     for(int i=0;i<columnCount;i++){
                         sutunlar[i] = rsmd.getColumnLabel(i+1);
                         columnNames[i] = sutunlar[i];
                         }
                     table = new JTable(rowData, columnNames);
                     table.repaint();
                     scrollPane = new JScrollPane(table);
                     sutunPanel.add(scrollPane);
                     sutunPanel.revalidate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    JButton ekle = new JButton("Ekle");
    ekle.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                switch(tablo){
                case "department":
                    statement.executeUpdate("INSERT INTO department(Name,Location) VALUES('"+tf.getText()+"')");
                case "employee":
                    statement.executeUpdate("INSERT INTO employee(Id,FirstName,LastName,Sex,Address,Email,Salary,BirthDate,JoinDate) VALUES('"+tf.getText()+"')");
                case "engineer":
                    statement.executeUpdate("INSERT INTO engineer(EngineerType) VALUES('"+tf.getText()+"')");
                case "manager":
                    statement.executeUpdate("INSERT INTO manager(Department) VALUES('"+tf.getText()+"')");
                case "project":
                    statement.executeUpdate("INSERT INTO project(Name,Number,Value) VALUES('"+tf.getText()+"')");
                case "secretary":
                    statement.executeUpdate("INSERT INTO secretary(TypingSpeed) VALUES('"+tf.getText()+"')");
                }
            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
    });
    JButton cik = new JButton("Çık");
    cik.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });
    JPanel panel = new JPanel(new FlowLayout());
    panel.add(tabloSec);
    panel.add(tablolar);
    panel.add(sutunPanel);
    panel.revalidate();
    panel.add(ekle);
    panel.add(cik);
    JFrame frame = new JFrame("Deneme");
    frame.setSize(600,600);
    frame.setLocationRelativeTo(null);
    frame.add(panel);
    frame.setVisible(true);
  }
}