Foros del Web » Programación para mayores de 30 ;) » Java »

Auxilio no me guarda

Estas en el tema de Auxilio no me guarda en el foro de Java en Foros del Web. Hola queridoas amigos amantes de java nesesito que me ayuden ocn una duda que tengo Lo que sucede es que estoy elaborando una aplicacion para ...
  #1 (permalink)  
Antiguo 19/01/2011, 08:20
 
Fecha de Ingreso: enero-2011
Ubicación: Bogota, Colombia
Mensajes: 81
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Auxilio no me guarda

Hola queridoas amigos amantes de java nesesito que me ayuden ocn una duda que tengo

Lo que sucede es que estoy elaborando una aplicacion para mi ecades y estoy programando netamente OOP

Problema:

En un jcombobox tengo que mostrar los resultados de una consulta que elaboro a un BD y a su ves el nombre que me aparece en el formulario tengo que gurdarlo en otra tabla en la misma BD

Bueno primero que todo si logre que me apareciera en el Jcombobox los nombres, pero me aparecen asi [Martin][Oskar][Diana], ¡¡¡ ven como vectores ¡¡ estos desplegados en el jcombobox claro esta, pero a la hora de guardar estos nombres no me guarda ya que son vectores. La base de datos no me los reconoce ya que el tipo de datos en el campo es de Varchar, aqui les dejo un poco de codigo

Codigo de la clase Cortador
Código:
 public static ArrayList<ClaseCortador>listarNombres() throws Exception
    {
        try {
            String sql="SELECT nombre_trabajador FROM trabajador WHERE oficio_trabajador LIKE 'cortador'";
            ConexioBaseDatos baseDatos=new ConexioBaseDatos();
            baseDatos.conectar();
            PreparedStatement sentencia=baseDatos.crearSentencia(sql);
            ResultSet respuestaBD=baseDatos.consultar(sentencia);
            ArrayList<ClaseCortador>listacontactos=new ArrayList<ClaseCortador>();
            while(respuestaBD.next()==true)
            {
                ClaseCortador trabajadorEncontrado=new ClaseCortador();
                trabajadorEncontrado.setNombre(respuestaBD.getString("nombre_trabajador"));

                listacontactos.add(trabajadorEncontrado);


            }
            baseDatos.desconectar();
            if(listacontactos.size()==0)
            {
                throw new Exception("La agenda se encuentra vacia");
            }
            return listacontactos;

        } catch (Exception e) {
            throw new Exception("Consulta negativa\n"+e.getMessage());
        }
    }
        public Vector<String> convierteEnVector1(){
        Vector<String> personaVector = new Vector<String>();
       
        //personaVector.add(password);
        personaVector.add(nombre);
       
        return personaVector;
    }
Y Tambien el codigo de la clase del formulario

Código:
try {
            ArrayList<ClaseCortador> listaContactos = ClaseCortador.listarNombres();    
          Vector<Vector> filasTabla = new Vector<Vector>();
            for (ClaseCortador contactoEncontrado : listaContactos) {     
                Vector<String> personaComoFila = contactoEncontrado.convierteEnVector1();
                filasTabla.add(personaComoFila);

            }
                   DefaultComboBoxModel datos = new DefaultComboBoxModel(filasTabla);
           
            cmbNombre.setModel(datos);
        
        } catch (Exception error) {
            JOptionPane.showMessageDialog(this, "Registro satisfactorio", "Operacion Error",JOptionPane.INFORMATION_MESSAGE);
            JOptionPane.showMessageDialog(this, error.getMessage());

        }
Lo que quiero

quiero que en el jcombobox me aparescan los datos normales no como vector no se si tendre que convertirlos a algo asi es algo que ya hise con el famoso toString() pero no me funciono bueno espero haber sido muy concreto gracais por las respuestas
  #2 (permalink)  
Antiguo 19/01/2011, 09:28
 
Fecha de Ingreso: enero-2011
Ubicación: Bogota, Colombia
Mensajes: 81
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

por fa si no fui uy claro me pueden decir gracias y espero me respondan
  #3 (permalink)  
Antiguo 19/01/2011, 09:49
 
Fecha de Ingreso: enero-2011
Ubicación: Medellin
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

mira yo tengo algo similiar a eso:


aca hago el select en la base de datos:

Cita:
public List<String> getNameMedidor()
{
List<String> nombres=new ArrayList<String>();
try{
stmt = (Statement)conn.createStatement();
rs = stmt.executeQuery("select nombre from medidor");
while(rs.next()){

nombres.add(rs.getString(1));

}
}catch(Exception ex){
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlEx) { } // ignore
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqlEx) { } // ignore
stmt = null;
}
}
return nombres;
}

codigo del formulario:

Cita:
private void formWindowActivated(java.awt.event.WindowEvent evt) {
this.jComboBox1.removeAllItems();
List<String> nombres=this.sql.getNameMedidor();
for (String b:nombres)
{
this.jComboBox1.addItem(b);
}
}

espero que te sirva ;)
  #4 (permalink)  
Antiguo 19/01/2011, 10:14
 
Fecha de Ingreso: enero-2011
Ubicación: Bogota, Colombia
Mensajes: 81
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

si excelente aporte muchas gracais
  #5 (permalink)  
Antiguo 19/01/2011, 10:24
 
Fecha de Ingreso: enero-2011
Ubicación: Bogota, Colombia
Mensajes: 81
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

oye si me sirvio bastante pero ahora mira lo que quiero es que a esa consulta ingresarle el id y que cuando yo elija el nombre el el jcombobox me de automaticamente el id del nombre que escoji hay porfa ayudame con esto y no te molesto mas mira que tu eres el unico que me ha sacado de este apuro gracias y espero pronto respuesta
  #6 (permalink)  
Antiguo 19/01/2011, 10:32
 
Fecha de Ingreso: enero-2011
Ubicación: Medellin
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

http://www.forosdelweb.com/f45/obtener-id-bd-seleccionar-item-jcombobox-876851/

ahi esta claro el ejemplo, hasta tu ya lo habias mirado :)
  #7 (permalink)  
Antiguo 20/01/2011, 07:43
 
Fecha de Ingreso: enero-2011
Ubicación: Bogota, Colombia
Mensajes: 81
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

Oye si ese es muy buen aporte pero la verdad no se como implementarlo en el codigo que tu y yo tenemos porque si te fijas solo retorna una variable que en este caso es nombres y en el codigo del formulario tenemos que esta llamando de un solo metodo que a su ves tiene un solo retorno entonces en el jcombobox nos va a salir todo pegado ejemplo
Martin
1024516123
Diana
91040813441
Oskar
12345678
y asi susesivamente entonces la pregunta es como hago para separar esto y que el codigo_id me
lo muestre en un jtextfield

aqui te muestro el codigo de la clase ClaseCortador

Código:
public static List<String>listarNombres() throws Exception
    {
        try {
            String sql="SELECT codigo_trabajador,nombre_trabajador FROM trabajador WHERE oficio_trabajador LIKE 'cortador'";
            ConexioBaseDatos baseDatos=new ConexioBaseDatos();
            baseDatos.conectar();
            PreparedStatement sentencia=baseDatos.crearSentencia(sql);
            ResultSet respuestaBD=baseDatos.consultar(sentencia);
            List<String>listacontactos=new ArrayList<String>();
            while(respuestaBD.next()==true)
            {
                listacontactos.add(respuestaBD.getString("nombre_trabajador"));
                listacontactos.add(respuestaBD.getString("codigo_trabajador"));
            }
            baseDatos.desconectar();
            if(listacontactos.isEmpty())
            {
                throw new Exception("La agenda se encuentra vacia");
            }
            return listacontactos;

        } catch (Exception e) {
            throw new Exception("Consulta negativa\n"+e.getMessage());
        }
    }
y aqui te muestro el del formulario

Código:
try {
           this.cmbNombre.removeAllItems();
           List<String> nombres= ClaseCortador.listarNombres();
          
            for (String nombrePersona: nombres) {
               this.cmbNombre.addItem(nombrePersona);
               
    }
           
      
        } catch (Exception error) {
            JOptionPane.showMessageDialog(this, "Registro satisfactorio", "Operacion Error",JOptionPane.INFORMATION_MESSAGE);
            JOptionPane.showMessageDialog(this, error.getMessage());

        }
hammmmmmmm disculpame lo torpe per estuve mirando y la verdad no hallo la forma no se si con un condicional o con otro metodo son posibles soluciones pero con mas codigo y mas mediocres y pues tu tienes una forma de programar muy similar a la que yo hago gracias y espero pronta respuesta
  #8 (permalink)  
Antiguo 20/01/2011, 09:09
 
Fecha de Ingreso: enero-2011
Ubicación: Medellin
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Auxilio no me guarda

en vez de que retorne una lista de String, crea una clase trabajador, y haces una lista de trabajador y que la retorneo y asi ya se puede aplicar el otro ejemplo que tienes.

espero te sirva, saludos

Etiquetas: auxilio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.