Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2011, 17:20
lincolnf_2
 
Fecha de Ingreso: abril-2011
Ubicación: lima
Mensajes: 134
Antigüedad: 13 años, 9 meses
Puntos: 3
problemas copn h2 y netbeans

hola amigos espero que puedan ayudarme. esot haciendo un pequeño programa con el net benas y la bas e de datos h2 todo me sle bien al traer los datos de la base de datos, pero cuando genero el jar de mi aplicacion no funciona sale un error pero cuando lo pruebo en el net beans funciona: aki les dejo el codigo.

este es el codigo ded mi boton donde traigo los datos de la base de datos a un jtable..

Código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    
    try {
        Class.forName("org.h2.Driver");
        cn=DriverManager.getConnection("jdbc:h2:\\"+System.getProperty("user.dir") +"\\DBEjemplo",
                "sa","123");
        PreparedStatement ps=cn.prepareStatement("select*from usuarios");
        ResultSet rs=ps.executeQuery();
        ResultSetMetaData rsm=ps.getMetaData();
        ArrayList<Object[]> datos=new ArrayList<Object[]>();
        while (rs.next()) {            
            Object[] filas=new Object[rsm.getColumnCount()];
            for (int i = 0; i <filas.length; i++) {
                filas[i]=rs.getObject(i+1);
            }
            datos.add(filas);
        }
        dtm=(DefaultTableModel)this.jTable1.getModel();
        cleanModel();
        for (int i = 0; i < datos.size(); i++) {
            dtm.addRow(datos.get(i));
        }
    } catch (Exception e) {
         JOptionPane.showMessageDialog(null, e.getMessage());
    }
}
aki de otra forma cuando pongo la direccion de la base de datos manualmente ya no sale error al ejecutar la aplicacion desde el jar.



Código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    
    try {
        Class.forName("org.h2.Driver");
        cn=DriverManager.getConnection("jdbc:h2:\Documents and Settings\MAQUINA-03\Mis documentos\NetBeansProjects\ejemplopath\DBEjemplo",
                "sa","123");
        PreparedStatement ps=cn.prepareStatement("select*from usuarios");
        ResultSet rs=ps.executeQuery();
        ResultSetMetaData rsm=ps.getMetaData();
        ArrayList<Object[]> datos=new ArrayList<Object[]>();
        while (rs.next()) {            
            Object[] filas=new Object[rsm.getColumnCount()];
            for (int i = 0; i <filas.length; i++) {
                filas[i]=rs.getObject(i+1);
            }
            datos.add(filas);
        }
        dtm=(DefaultTableModel)this.jTable1.getModel();
        cleanModel();
        for (int i = 0; i < datos.size(); i++) {
            dtm.addRow(datos.get(i));
        }
    } catch (Exception e) {
         JOptionPane.showMessageDialog(null, e.getMessage());
    }
}
nota: la base de datos la cree en la carpeta de mi aplicacion. espero que puedan ayudarme y espero haberme explicado. gracias de antemano