When I press the "show" button it does not show any table and error

  • Topic: Java 
  • Thread starter Suxil_7
  • Start date
  • Tags Tags
    Error Table
1 reply · 3K views · last reply
Suxil_7
Messages
1
Reaction score
0
I need help. When I press show button it does not show any table and error.
Here is the code:
Java:
package Demo;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.awt.event.ActionEvent;

@SuppressWarnings("serial")
public class Datatable extends JFrame {

    private JPanel contentPane;
    private JTable table;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Datatable frame = new Datatable();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public Datatable() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

        setContentPane(contentPane);
        contentPane.setLayout(null);
      
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(235, 172, -177, -125);
        contentPane.add(scrollPane);
      
        table = new JTable();
        scrollPane.setViewportView(table);
      
        JButton btnNewButton = new JButton("Show");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    Class.forName("com.mysql.cj.jdbc.Driver");
                    Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mybd","root","");
                    Statement st = con.createStatement();
                    String query = "Select * from student";
                    ResultSet rs =st.executeQuery(query);
                    ResultSetMetaData rsmd=rs.getMetaData();
                    DefaultTableModel model =(DefaultTableModel)table.getModel();
                    int cols =rsmd.getColumnCount();
                    String [] colName = new String[cols];
                    for(int i =0; i<cols;i++) {
                        colName[ i] =rsmd.getColumnName(i+1);
                        model.setColumnIdentifiers(colName);
                        String id,name,course;
                        while(rs.next()) {
                            id= rs.getString(1);
                            name= rs.getString(2);
                            course= rs.getString(3);
                           
                            String[] row = {id,name,course};
                            model.addRow(row);
                        }
                    //    rs.close();
                        //st.close();
                //con.close();
                       
                    }
                } catch (ClassNotFoundException | SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
           
            }
        });
        btnNewButton.setBounds(326, 69, 85, 21);
        contentPane.add(btnNewButton);
    }
}
 
Last edited by a moderator:
One of the most important things to learn in programming anything is how to debug your code. What are you using to debug? Are you running it in a debugger where you can step through the code? Have you tried to place prints or display messages at key locations to see what is happening?
 
  • Like
Likes   Reactions: Mark44, jedishrfu, berkeman and 1 other person