Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/06/2013, 05:10
NoXi24
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Ver JTable en ventana dialog

Gracias chuidiang por su respuesta me sirvió mucho ;)) pero sigo sin tenerlo del todo bien porque no me muestra los campos VARCHAR, mira subo foto.

http://s2.subirimagenes.com/imagen/previo/thump_8470785sin-ttulo.png

lo eh consultado con un amigo y me ha dicho que "No meta los datos en un array. Mételos directamente en el Jtable"
Como seria? pongo Código:
Código:
try{
					Connection unaConexion  = DriverManager.getConnection ("jdbc:odbc:puentejava");
					Statement instruccionSQL = unaConexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

					ResultSet rs = instruccionSQL.executeQuery ("SELECT * FROM Producto");
					DefaultTableModel modelo = new DefaultTableModel();
					JTable tabla = new JTable(modelo);
					// Creamos las columnas.
					modelo.addColumn("idProducto");
					modelo.addColumn("Nombre");
					modelo.addColumn("Marca");
					modelo.addColumn("Precio");
					modelo.addColumn("Stock");
					modelo.addColumn("Observacion");
					modelo.addColumn("IdCategoriaFK");



					JDialog dialog =  new JDialog();
					dialog.setTitle("Tabla Empleado");
					dialog.add(new JScrollPane(tabla));
					dialog.setVisible(true);
					dialog.setSize(400,350);

					// Bucle para cada resultado en la consulta
					while (rs.next()) {
						// Se crea un array que será una de las filas de la tabla.
						Object [] fila = new Object[4]; // Hay 7columnas en la tabla

						// Se rellena cada posición del array con una de las columnas de la tabla en base de datos.
						for (int i=0;i<4;i++)
							fila[i] = rs.getObject(i+1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.

						// Se añade al modelo la fila completa.
						modelo.addRow(fila);
					}


				}catch (Exception ex) {
					ex.printStackTrace();
				}
Gracias,Un Saludo.

Última edición por NoXi24; 02/06/2013 a las 13:22