Java - Problemas con JComboBox

 
Vista:
sin imagen de perfil

Problemas con JComboBox

Publicado por Lucio (21 intervenciones) el 02/02/2016 22:59:57
Parte BD:
--------------

Tengo las tablas PRODUCTO y CATEGORIA donde el producto tiene una categoria. Es FK. Donde:

PRODUCTO:
-idProducto (PK)
-codigo
-nombre
-preciounitario
-stock
-idcategoria (FK)

CATEGORIA:
-idcategoria(PK)
-nombre


Parte JAVA:
----------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Connection conexion = DriverManager.getConnection("jdbc:postgresql://localhost:5432/Sistema", "postgres", "");
		System.out.println("conexion");
		String consulta=("SELECT p.codigo,p.nombre,p.preciounitario,p.stock,p.idcategoria FROM producto p WHERE p.codigo=" + txtCodigoBusqueda.getText());
		Statement comando = conexion.createStatement();
		ResultSet registro;
		//registro = comando.executeQuery("SELECT codigo,nombre,apellido,direccion,dni,email,telefono FROM cliente WHERE codigo =" + txtCodigo.getText());
		registro = comando.executeQuery(consulta);
 
 
		if (registro.next() == true) {
			txtcodigo.setText(registro.getString("codigo"));
			txtNombre.setText(registro.getString("nombre"));
			txtPrecio.setText(registro.getString("preciounitario"));
			txtStock.setText(registro.getString("stock"));
			jComboBoxCategoria.addItem(registro.getString("idcategoria"));  ACA DONDE ESTA EL PROBLEMA (MUESTRA EL ID, NO EL NOMBRE. NECESITO QUE MUESTRE EL NOMBRE
 
		} else {
			JOptionPane.showMessageDialog(null,"No existe Producto de un codigo "+txtcodigo.getText());
		}
		conexion.close();
	} catch (SQLException ex) {
		JOptionPane.showMessageDialog(null,"Error "+ex);
	}
}

No se si se entiende el codigo de ese metodo. Que seria el correspondiente al boton buscar. Lo que hace es setearme todos los JTextField con los datos que se encuentran en la BD. Pero cuando llega al JComboBox de categoria no me muestra el nombre sino que el id.

En si el codigo funciona pero mostrandome el id, no el nombre de la CATEGORIA que es lo que necesito

Donde tambien necesito que me muestre las demas CATEGORIA para poder realizar la modificacion. En un JtextField cuando sacas el valor de la base de datos y lo seteas en los JTextField es facial realizar la edicion. Pero no se como hacerlo en JCombo

Agradeceria mucha la ayuda!!! Si no me explico bien no duden en decirme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Krlos Kstro

Problemas con JComboBox

Publicado por Krlos Kstro (54 intervenciones) el 03/02/2016 04:31:09
Modifica la consulta...

SELECT p.codigo,p.nombre,p.preciounitario,p.stock,p.nombre
FROM producto p,categoria c WHERE p.idcategoria=c.idcategoria and p.codigo=" + txtCodigoBusqueda.getText()

y en

jComboBoxCategoria.addItem(registro.getString("idcategoria")); ---->jComboBoxCategoria.addItem(registro.getString("nombre"));


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas con JComboBox

Publicado por Lucio (21 intervenciones) el 03/02/2016 17:56:29
Krlos Kstro Gracias por el comentario. Ya lo habia hecho de esa manera. El problema es que en jComboBoxCategoria.addItem(registro.getString("nombre")); me esta mostrando el nombre del PRODUCTO, no de la CATEGORIA porque las 2 tablas tienen el mismo nombre y tampoco puedo hacer esto jComboBoxCategoria.addItem(registro.getString("c.nombre")); para decirle que haga referencia al nombre de la CATEGORIA. SI hago esa consulta que me decis en el PGADMIN me la muestra bien. El tema es que no me aparece el nombre de la CATEGORIA sino que aparece el ID. El tema que no quiero editar la columna "nombre" por esto porque tendria que modificar todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con JComboBox

Publicado por fausto (1 intervención) el 03/02/2016 20:46:11
Hola lucio.
Estas seguro de lo que estas haciendo?
Checa tu consulta.
Que es lo que necesitas mostra;, tus tablas están bien y no importa que se llamen igual; porque al llamarlas desde la consulta les estas colocando un identificador "p.productos" y "c.nombre" y con esto estas trayendo los datos correctos.
Solo es cuestión de que analizes bien tu consulta y cuando traigas el valor en el jcheckbox coloques el campo que quieres mostrar.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar