Hola tengo hecha una consulta y necesito mostrarla con Jbuilder a través de un Jtable. ¿Alguien me puede ayudar por favor?
Muchas gracias.
| |||
Problemas al mostrar consulta a una base de datos en Java Hola tengo hecha una consulta y necesito mostrarla con Jbuilder a través de un Jtable. ¿Alguien me puede ayudar por favor? Muchas gracias. |
| |||
He probado lo que me dijste y no me funciona me dice que no puedo hacer referencia a una variable estática como no estática y que el recordset no existe. ¿Podrías ayudarme? Gracias.
__________________ -----,-----,-----,@ |
| ||||
Hola ross_av!!! Si posteas tu código a lo mejor nos es mas facil intentar ayudarte. Saludetes kripton
__________________ Hoy por ti, mañana por mi. Compartiendo entre amigos. Usuario Registrado Linux #327495 |
| |||
Perdona, tienes razón ahí te envío el código: public static void main (){ String url = "jdbc:odbc:BDORACLE"; Connection con = null; Statement stmt = null; try { //Carga del driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(java.lang.ClassNotFoundException ex) { System.err.print("Error Clase No Existe : "); System.err.println(ex.getMessage()); } try { //Establecimiento de la conexión a la base de datos con = DriverManager.getConnection(url, "scott", "tiger"); //Consultas a la base de datos stmt = con.createStatement(); if (Alumnos.isSelected()){ ResultSet rs = stmt.executeQuery("SELECT CÓD_USUARIO, NOMBRE_USUARIO," + "APELLIDO_USUARIO, DNI FROM Usuarios WHERE NIVEL = 'Alumno'"); } else { ResultSet rs = stmt.executeQuery("SELECT CÓD_USUARIO, NOMBRE_USUARIO," + "APELLIDO_USUARIO, DNI FROM Usuarios WHERE NIVEL = 'Profesor'"); } /* ResultSet rs = stmt.executeQuery("SELECT CÓD_USUARIO, NOMBRE_USUARIO," + "APELLIDO_USUARIO, DNI FROM Usuarios");*/ Vector vectorDatos = new Vector(); while(rs.next()){ Vector vector = new Vector(); vector.add(rs.getString("CÓD_USUARIO")); vector.add(rs.getString("NOMBRE_USUARIO")); vector.add(rs.getString("APELLIDO_USUARIO")); vector.add(rs.getString("DNI")); vectorDatos.add(vector); } Vector vectorColumnas = new Vector(); vectorColumnas.add("CÓDIGO"); vectorColumnas.add("NOMBRE"); vectorColumnas.add("APELLIDO"); vectorColumnas.add("DNI"); JTable jTable1 = new JTable (vectorDatos, vectorColumnas); //Cerrar la conexión rs.close(); stmt.close(); con.close(); } catch(SQLException exc) { System.err.println("Error al ejecutar SQL en Dialogo1: " + exc.getMessage()); } } Muchas gracias. |
| ||||
Hola ross_av!!! Comentarte que lo unico que veo raro en tu código es lo siguiente: 1.- El método main debería tener esta pinta en la declaración:
Código:
2.- El ResultSet debes declararlo antes del if, para que siga existiendo a la salida del mismopublic static void main(String[] args) { }
Código:
Finalmente comentarte que no basta con crear la JTable para ver algo en pantalla, ahi va un ejemplo completo de como visualizar una JTable en pantalla.ResultSet rs = null; if (Alumnos.isSelected()) { rs = stmt.executeQuery("SELECT CÓD_USUARIO, NOMBRE_USUARIO," + "APELLIDO_USUARIO, DNI FROM Usuarios WHERE NIVEL = 'Alumno'"); } else { rs = stmt.executeQuery("SELECT CÓD_USUARIO, NOMBRE_USUARIO," + "APELLIDO_USUARIO, DNI FROM Usuarios WHERE NIVEL = 'Profesor'"); }
Código:
Espero te sirva,import javax.swing.*; import java.util.Vector; public class Pruebas { public static void main(String[] args) { Vector vectorDatos = new Vector(); for(int i = 0; i < 10; i++){ Vector vectorAux = new Vector(); vectorAux.add("1"); vectorAux.add("2"); vectorAux.add("3"); vectorDatos.add(vectorAux); } Vector vectorCabecera = new Vector(); vectorCabecera.add("Columna1"); vectorCabecera.add("Columna2"); vectorCabecera.add("Columna3"); JFrame ventana = new JFrame(); JTable tabla = new JTable(vectorDatos, vectorCabecera); JScrollPane jScrollPane = new JScrollPane(); jScrollPane.setViewportView(tabla); ventana.getContentPane().add(jScrollPane); ventana.pack(); ventana.setVisible(true); } } un saludo kripton
__________________ Hoy por ti, mañana por mi. Compartiendo entre amigos. Usuario Registrado Linux #327495 |
| |||
Gracias de nuevo, me estás siendo de gran ayuda porque es la primera vez que veo Java y la verdad es que me cuesta un poco. Por cierto ¿por qué haces un bucle for desde 0 hasta 10? Bye. Última edición por ross_av; 27/09/2003 a las 09:30 |
| ||||
Mi único objetivo es rellenar 10 filas de datos para que vieses una jtable rellena. En la realidad tienes que usar el código que te pase para rellenar el vector de datos de la jtable. Saludetes kripton
__________________ Hoy por ti, mañana por mi. Compartiendo entre amigos. Usuario Registrado Linux #327495 |