este es el codigo ded mi boton donde traigo los datos de la base de datos a un jtable..
Código:
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.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()); } }
Código:
nota: la base de datos la cree en la carpeta de mi aplicacion. espero que puedan ayudarme y espero haberme explicado. gracias de antemano 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()); } }