Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/09/2014, 04:45
yesod91
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 83
Antigüedad: 10 años, 5 meses
Puntos: 2
Respuesta: Error nullpointer al hacer una consulta SQL (ORACLE)

La instancia de objconex, es la clase conexionDB...

La instancia conex, la uso en la clase conexionDB para "conex = DriverManager.getConnection(url, user, pass);

El problema es que tengo esto:

Código PHP:
public class ConexionDB {
    
String user;
    
String pass;
    
String url;
    static 
Connection conex;
    static 
Statement stm;
    static 
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(urluserpass);
            
JOptionPane.showMessageDialog(null"Conexion realizada con éxito");
        } catch (
Exception e) {
            
JOptionPane.showMessageDialog(null"Conexion fallida");
            
JOptionPane.showInputDialog(enull);
        }
    } 
Código PHP:
    public ResultSet LeerDatosDB() throws SQLException {
        try {
            
stm conex.createStatement();
            
String cadSql "";
            
cadSql "SELECT * FROM PRODUCTOS ORDER BY id";
            
rs stm.executeQuery(cadSql);
        } catch (
SQLException ex) {
            
Logger.getLogger(ConexionDB.class.getName()).log(Level.SEVERE,
                    
nullex);
        } 
finally {
            
// stm.close();
        
}
        return 
rs;
    } 
Es lo que no entiendo, porque esto si funciona e hice lo mismo, en el botón que puse:

Código PHP:
LISTAR = new JButton("VER PIEZAS EN STOCK");
        
LISTAR.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent e) {
                try {
                    
DefaultTableModel dfm = new DefaultTableModel();
                    
MenuGUI.tbl.setModel(dfm);
                    
dfm.setColumnIdentifiers(new Object[] { "FECHA RECEPCIÓN",
                            
"ALBARÁN""PARTE RECEPCIÓN""LOTE",
                            
"CANTIDAD ENTRADA""CANTIDAD SALIDA""FORMATO",
                            
"STOCK" });
                    
rs objConex.LeerDatosDB();
                    try {

                        while (
rs.next()) {
                            
dfm.addRow(new Object[] { 
                                    
rs.getDate("FRECEPCION"),
                                    
rs.getInt("ALBARAN"),
                                    
rs.getString("PRECEPCION"),
                                    
rs.getString("LOTE"),
                                    
rs.getString("CENTRADA"),
                                    
rs.getString("CSALIDA"),
                                    
rs.getString("FORMATO"),
                                    
rs.getString("STOCK") });

                        }
                    } 
finally {
                        
rs.close();
                    }
                } catch (
SQLException e1) {
                    
// TODO Auto-generated catch block
                    
e1.printStackTrace();
                }
            }
            
/*public void actionPerformed(ActionEvent arg0) {
                //String codMP = JOptionPane.showInputDialog("Introduzca el código de Materia Prima");
                VerCMP.main(null);
                /*try {
                    
                    //objConex.buscarCMP(codMP);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }*/
        
});
        
LISTAR.setBounds(101116442);
        
getContentPane().add(LISTAR); 
Cuando yo puse aqui directamente "objConex.LeerdatosDB();" funciona correctamente...

PD: Conectar la aplicación, lo hace sin problemas...

Última edición por yesod91; 17/09/2014 a las 04:55 Razón: Completar código