Java - jComboBox + BD

 
Vista:

jComboBox + BD

Publicado por Oscar Mauricio Gomez Acevedo (47 intervenciones) el 30/08/2005 16:57:11
Saludos

Me encuentro realizando una pequeña aplicacion de ordenes de compra, y tengo un jComboBox cuyo contenido se carga desde la bd al momento de cargar la aplicacion con todos los proveedores activos en el sistema. Ahora, necesito que cuando yo seleccione un elemento de ese combo, por ejemplo Ventas XXX, pueda apartir desde la Bd, jalar la informacion adicional de ese proveedor como es su direccion, su telefono etc.

Actualmente me encuentro haciendo un procedimiento dentro del accion performed donde apartir de dicha seleccion yo capturo el contenido del mismo y con ese elemento hago la consulta a la bd, lo unico malo es que me esta duplicando la informacion.

No se que es lo que esta pasando, unos dicen que tiene que ver con el uso de un listener, pero los ejemplos que encuentro en la red solamente se limitan a la carga de imagen, pero la verdad no encuentro ninguno que uso bd.

Agradezco la atencion y si alguien tiene algun ejemplo que me pueda facilitar se lo agradeceria.

Att
Oscar Mauricio Gomez Acevedo
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
sin imagen de perfil
Val: 974
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:jComboBox + BD

Publicado por Yamil Bracho (2305 intervenciones) el 30/08/2005 22:29:00
Cuando dices que "te duplica" la informacion a que te refieres ? Que te salen dos veces los item en el combo box ? Puedes publicar algo del codigo que estan usando...
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

RE:jComboBox + BD

Publicado por Oscar Mauricio Gomez Acevedo (47 intervenciones) el 31/08/2005 00:43:06
Si por ejemplo tengo 2 empresas una a y otra b, luego de esto cuando ejecuto el evento me duplica la empresa a dos veces.

Si tienes algun ejemplo de algo parecido que hayas hecho te lo agradeceria.

Agradezco la atencion,

Atentamente

Oscar Mauricio Gomez Acevedo
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

RE:jComboBox + BD

Publicado por Ricardo (2 intervenciones) el 31/08/2005 03:53:38
Lo que pasa es que estas llamando dos veces al listener del combo, es decir estas asignando dos veces el msmo escuchador de eventioa al mismo objeto.. asi , imaginate que el combo se llame cmbOpciones, entonces estas llamando dos veces de esta maneta..
cmbOpciones.addActionListener(this).. o
cmbOpciones.addItemListener(this);.. eso es lo primero que se me ocurre...
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
Val: 974
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:jComboBox + BD

Publicado por Yamil Bracho (2305 intervenciones) el 31/08/2005 15:29:51
Si publicas algo del codigo seria mas facil entender el problema....
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

RE:jComboBox + BD

Publicado por Oscar Mauricio Gomez Acevedo (47 intervenciones) el 06/09/2005 01:46:08
Saludos

Disculpeme por haber demorado tanto en colocar el codigo pero la verdad
es que no habia tenido tiempo de revisar por el internet.

A continuacion les escribo el codigo que estoy utilizando y lo pongo a su consideracion:

En el evento FocusGained del combobox invoco el siguiente procedimiento

public boolean CargProv(){
int i=0,col=0;
try {
String sql="select a.cod_prov as codprove,a.razon_social as razonsoc,a.direccion as direccion,a.telefono as telefono,c.nombre as ciudad,d.nombre as departamento from tbl_prov as a,tbl_rut as b,tbl_ciudad as c,tbl_dpto as d where a.rut=b.rut and a.cod_ciudad=c.cod_ciudad and a.cod_dpto=d.cod_dpto and a.estado='t' order by codprove";
Main.db.consulta(sql);
jCmbBox_Prov.removeAllItems(); //LIMPIANDO JCOMBOBOX
while (Main.db.rs.next()) { //LLENANDO JCOMBOBOX
cod_prov[i] = Main.db.rs.getString("codprove");
jCmbBox_Prov.addItem(Main.db.rs.getString("razonsoc"));
i++;
}
jCmbBox_Prov.setMaximumRowCount(i);
jCmbBox_Prov.setSelectedIndex(-1);
itemlistener();
return true;
} catch (Exception e){return false;}
}

luego en la funcion itemlistener hace lo siguiente

public boolean itemlistner(){
jCmbBox_Prov.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
try{
//jCmbBox_ProvItemStateChanged(evt);
System.out.println(String.valueOf(jCmbBox_Prov.getSelectedItem()));
String seleccion=cod_prov[jCmbBox_Prov.getSelectedIndex()];
String sql="select a.cod_prov as codprove,a.razon_social as razonsoc,a.direccion as direccion,a.telefono as telefono,c.nombre as ciudad,d.nombre as dpto from tbl_prov as a,tbl_rut as b,tbl_ciudad as c,tbl_dpto as d where a.rut=b.rut and a.cod_ciudad=c.cod_ciudad and c.cod_dpto=d.cod_dpto and a.estado='t' and a.cod_prov='"+seleccion+"' and a.razon_social='"+nom_prov[jCmbBox_Prov.getSelectedIndex()]+"'";
System.out.println(sql);
Main.db.consulta(sql);
Main.db.rs.next();
jTxtFld_Direc.setText(Main.db.rs.getString("direccion"));
jTxtFld_Tele.setText(Main.db.rs.getString("telefono"));
jTxtFld_Ciud.setText(Main.db.rs.getString("ciudad"));
jTxtFld_Dpto.setText(Main.db.rs.getString("dpto"));
}
catch(Exception e){}
}
});
return true;
}

el problema ahora a cambiado bastante, pues me muestra los elementos pero solamente me carga la
informacion del primero que esta en el combo, y cuando minimizo la forma, solamente me queda en el combo la informacion
de un solo proveedor.

Agradezco la atencion, y espero una pronta respuesta y/o colaboracion de su parte.

Atentamente
Oscar Mauricio Gomez Acevedo
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
Val: 974
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:jComboBox + BD

Publicado por Yamil Bracho (2305 intervenciones) el 06/09/2005 16:28:04
En el codigo que envias el combo es llenado cada vez que le das el foco. Me parece no optimo porque va a enviar esa consulta a la base de datos tantas veces como le des el foco al combo.
Lo otro es que en ese metodo haces el selectIndex del combo en -1 y luego llamas a metodo itemlistener() donde haces otra consulta usando el arreglo nom_prov. Como el indice esta en -1 deberia darte una excepcion....
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

RE:jComboBox + BD

Publicado por Oscar Mauricio Gomez Acevedo (47 intervenciones) el 06/09/2005 17:01:59
La verdad es que excepcion no me genera, ciertamente yo no se si el problema que esta ocurriendo es por la forma como creo el itemlistener, pues al parecer me esta colocando todo el contenido de la consulta en un solo item, y por eso solamente me muestra informacion al primero. Con respecto al evento, es cierto, no es optimo en ese punto, y tendre en cuenta tu concepto, de todas maneras el inconveniente es en como hago para cargar todo, los elementos en un combo, y que cada item que inserte quede independiente y no todo el contenido en uno solo como al parecer esta ocurriendo.

Tendre en cuenta tus conceptos y los revisare, de todas maneras ahi te dejo mis impreciones, cualquier cosa estamos en contacto.

Gracias por tu colaboracion

Atentamente
Oscar Mauricio Gomez Acevedo
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