
15/09/2014, 15:53
|
| | Fecha de Ingreso: julio-2014 Ubicación: España
Mensajes: 83
Antigüedad: 10 años, 6 meses Puntos: 2 | |
Respuesta: Conteindo SQL en JTable Cita:
Iniciado por yesod91 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: Código PHP: 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: Código PHP: 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 EDITO: He modificado parte del código, sigue sin mostrarse nada, pero ahora no da error, simplemente he comentado el stm.close();
¿Alguna idea de como solucionarlo?
EDITO: SOLUCIONADO, simplemente con poner el código del botón justo debajo de donde se genera la tabla.
Última edición por yesod91; 16/09/2014 a las 14:50
Razón: SOLUCIONADO
|