entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

JTable con SQL mostrar datos

Buenas noches compañeros, estoy intentando realizar un programa que me muestre los datos de una consulta simple como puede ser "SELECT * FROM PRODUCTOS;" en un JTable

Aqui teneis el código para ver si podeis echar una mano:

    LISTAR = new JButton("VER PIEZAS EN STOCK");
    LISTAR.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            try {
                DefaultTableModel dfm = new DefaultTableModel();
                tbl.setModel(dfm);
                dfm.setColumnIdentifiers(new Object[] { "FALBARAN",
                        "FRECEPCION", "ALBARAN", "PRECEPCION",
                        "LOTE", "ID", "CENTRADA",
                        "CSALIDA", "FORMATO", "STOCK" });
                //ConexionDB cn = new ConexionDB();
                rs = objConex.LeerDatosDB();
                try {
                    while (rs.next()) {
                        dfm.addRow(new Object[] {
                                rs.getDate("FALBARAN"),
                                rs.getDate("FRECEPCION"),
                                rs.getInt("ALBARAN"),
                                rs.getString("PRECEPCION"),
                                rs.getString("LOTE"), rs.getInt("ID"),
                                rs.getString("CENTRADA"),
                                rs.getString("CSALIDA"),
                                rs.getString("FORMATO"),
                                rs.getString("STOCK") });
                    }
                } finally {
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    LISTAR.setBounds(10, 11, 164, 42);
    getContentPane().add(LISTAR);

Aqui la parte que da a la conexión de la base de datos:

public class ConexionDB {
    String user;
    String pass;
    String url;
    static Connection conex;
    static Statement stm;
    ResultSet rs;

    public ConexionDB(){
        user = "alumno";
        pass = "alumno";
        url = "jdbc:oracle:thin:@PCVIRTUAL:1521:BASE";
        conex = null;
        stm = null;
    }
    public void conectar(){
        try {
            Class.forName("oracle.jdbc.OracleDriver").newInstance();
            conex=DriverManager.getConnection(url, user, pass);
            JOptionPane.showMessageDialog(null, "Conexion realizada con éxito");
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Conexion fallida");
            JOptionPane.showInputDialog(e, null);
        }
    }
    public ResultSet LeerDatosDB() throws SQLException {
        stm = conex.createStatement();
        String cadSql = "";
        try {
            cadSql = "SELECT * FROM PRODUCTOS ORDER BY id";
            rs = stm.executeQuery(cadSql);
        } catch (SQLException ex){
            Logger.getLogger(ConexionDB.class.getName()).log(Level.SEVERE, null, ex);
        }finally{
            stm.close();
        }
        return rs;
    }

El error que me da es el siguiente:

java.sql.SQLRecoverableException: Sentencia cerrada: next

1 Respuesta

1voto

Yesod Puntos3550

vale, he dado con la respuesta, poner el boton para mostrar toda la información abajo del todo, después de generar el jtable...

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta