
Duda Guardar datos de un combo box a una base de datos
Publicado por Diego (2 intervenciones) el 17/07/2017 06:32:17
Hola, espero me puedan ayudar llevo dos días intentando dar con una solución pero no puedo, tengo una base de datos llamada catalogo, tiene dos tablas una llamada cliente y contiene: idcliente,rfc,numero,telefono,idciudad(llave foranea), y la otra es ciudad tiene los datos: idciudad,ciudad,
ambos id son de tipo entero, en netbeans cree una conexion donde en clientes agrege un combo box, en el cual me aparecen las ciudades, mi pregunta es como logro hacer que cuando un usuario se registre y en el combo box seleccione una ciudad, se me guarde el nombre de la ciudad y no el idciudad, espero darme a entender y me puedan ayudar :(
este es mi codigo del boton guardar.
ambos id son de tipo entero, en netbeans cree una conexion donde en clientes agrege un combo box, en el cual me aparecen las ciudades, mi pregunta es como logro hacer que cuando un usuario se registre y en el combo box seleccione una ciudad, se me guarde el nombre de la ciudad y no el idciudad, espero darme a entender y me puedan ayudar :(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
private void jbtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
//llamar a la clase conectar
Conectar objConectar=new Conectar();
//paso 2 crear la variable de conexion con el metodo conexion
Connection objConexion=objConectar.conexion();
if(jtxtCliente.getText().trim().isEmpty()
||jtxtRfc.getText().trim().isEmpty()
||jtxtNombre.getText().trim().isEmpty()
||jtxtTelefono.getText().trim().isEmpty()
||jtxtCalle.getText().trim().isEmpty()
||jtxtNumero.getText().trim().isEmpty()
||jtxtColonia.getText().trim().isEmpty()
||jtxtCp.getText().trim().isEmpty()
||jcmbCiudad.getSelectedItem().equals("")){
JOptionPane.showMessageDialog(this,"Faltan campos por capturar","Datos invalidos",JOptionPane.INFORMATION_MESSAGE);
}else{
//paso 3 Variable temporal que almacenan lo que tienen nuestras cajas de texto
int id_cliente=Integer.parseInt(jtxtCliente.getText());
String rfc=jtxtRfc.getText();
String nombre=jtxtNombre.getText();
String telefono=jtxtTelefono.getText();
String calle=jtxtCalle.getText();
String numero=jtxtNumero.getText();
String colonia=jtxtColonia.getText();
int cp=Integer.parseInt(jtxtCp.getText());
int idciudad=jcmbCiudad.getSelectedIndex();
//paso 4 variable para nuestra sentencia SQL
String sql="INSERT INTO clientes(idclientes,rfc,nombre,telefono,calle,numero,colonia,cp,idciudad)VALUES(?,?,?,?,?,?,?,?,?)";
//paso 5 Preparar la sentencia a ejecutar mediante un try catch
try{
PreparedStatement ps=objConexion.prepareStatement(sql);
ps.setInt(1,id_cliente);
ps.setString(2,rfc);
ps.setString(3,nombre);
ps.setString(4,telefono);
ps.setString(5,calle);
ps.setString(6,numero);
ps.setString(7,colonia);
ps.setInt(8,cp);
ps.setInt(9,idciudad);
//ejecutar la sentencia
ps.executeUpdate();
}catch (Exception ex){
System.out.println("Error al insertar"+ex.getMessage());
}
JOptionPane.showMessageDialog(null,"Registro guardado","Registro de usuario",JOptionPane.OK_OPTION);
Limpiar();
}
Valora esta pregunta


0