Darkzoe Posted January 29, 2011 Report Share Posted January 29, 2011 (edited) Hola que tal! estoy programando Java pero lo hago desde netbeans y estoy tratando de pasar una consulta de base de datos (SQL) a un jtable, les soy sincero en siguiente codigo que escribo no es mio, este lo encontre en buscado mi problema en Google. Es de esta pagina http://www.chuidiang.com/java/mysql/resultset_jtable.php; en fin. El problema es este: 1.- La consulta es esta "SELECT cancion.nombre,cancion.duracion,cancion.costo_uni,cancion.tamaxo FROM cancion INNER JOIN album ON cancion.album = album.idalb WHERE album.nombre IN ("aki recibo el nombre que me proprciona el usuario"); 2.- La consulta si la hace y esta bien ya la cheque, como pueden ver la consulta me da como resultado 4 columnas; esas columnas tienen etiquetas que no deseo utilizar por eso quiero etiquetarlas a mi manera. 3.-Ejecutando es codigo si me lanza la consulta, pero me repite: * las 4 columnas me las repite 3 veces mas y con datos en blanco. :( ** la consulta me la hace dos veces :( seria algo asi Nombre | Duracion| Precio |Tamaño||Nombre | Duracion | Precio |Tamaño||Nombre |Duracion |Precio | Tamaño ------------------------------------------------------------------------------------------------------------------------------------------------- cancion1|1.23 |2.58 |2.05 ||-----------|-----------|--------|----------||-----------|-----------|---------|--------- cancion1|1.23 |2.58 |2.05 ||-----------|-----------|--------|----------||-----------|-----------|---------|--------- public void manual(ResultSet rs, DefaultTableModel modelo){ //aki agrego el nombre de las columnas modelo.addColumn("Nombre"); modelo.addColumn("Duracion"); modelo.addColumn("Precio"); modelo.addColumn("Tamaño"); try{ while (rs.next()) { Object [] fila = new Object[4]; <--- se supone que aki indico que son 4 columnas :( for (int i=0;i<4;i++) fila = rs.getObject(i+1); modelo.addRow(fila); } }catch(Exception e){e.printStackTrace();} } Si alguien me podria decir como corregir este error, puesto que yo ya me me canse y no le hallo el error, y de hecho me esta costando trabajo el aplicarlo en netbeans. Cualquier ayuda seria muy agradecida. :) Edited January 29, 2011 by Darkzoe Link to comment Share on other sites More sharing options...
sunruin Posted February 7, 2011 Report Share Posted February 7, 2011 sube el codigo a un hosting megaupload u otro y te lo resuelvo ya que asi no puedo hacer nada. para hacer pruebas. Link to comment Share on other sites More sharing options...
wiwOx Posted February 13, 2011 Report Share Posted February 13, 2011 (edited) el resultado tiene que tener un retorno y tiene que ser tipo ResultSet public ResultSet buscarCancion(String cancion) { ResultSet resultado=null; try{ Connection connection = Conexion.getConexion(); Statement st = connection.createStatement(); String query ="SELECT cancion.nombre,cancion.duracion,cancion.costo_uni,cancion.tamaxo FROM cancion INNER JOIN album ON cancion.album = album.idalb WHERE album.nombre IN('"+cancion+"'")"; PreparedStatement search = Conexion.getConexion().prepareStatement(query); resultado = search.executeQuery(); }catch(Exception e) { System.err.println("no se encontro registro"); } [b] return resultado;[/b] } Luego en evento del boton buscar Cancion //(esta es la clase donde estas realizaste el codigo para la busqueda, si estas trbajando a 3 capas me entenderas)// cancion = new Cancion(); try{ ResultSet set = cancion.buscarCancion(this.txtCancionBuscargetText()); DefaultTableModel modelo = new DefaultTableModel ( new Object [][] { }, new String [] { "Nombre","Duracion","Precio","Tamaño" } ); ResultSetMetaData rsmd = set.getMetaData(); while(set.next()) { Object[] objeto = new Object[4]; for(int x=0;x<4;x++){ objeto[x]=set.getObject(x+1); } modelo.addRow(objeto); } JTable.setModel(modelo); }catch(Exception e) { e.printStackTrace(); } } } Espero que te sirva Saludos Edited February 13, 2011 by wiwOx Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now