Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2014, 03:21
yesod91
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 83
Antigüedad: 12 años, 2 meses
Puntos: 2
Conteindo SQL en JTable

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