Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2013, 15:34
rahe_meph
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años, 2 meses
Puntos: 0
Guardar id desde el nombre (combobox)

Hola a todos.Tengo una consulta, tengo un combobox llenado desde la bd con el nombre de los proveedores, lo que quiero es al guardar, se ingrese el id de dicho proveedor, para eso hice un select que trae el codigo de dicho proveedor,pero no me resulta, alguien sabe cual es el problema?

Código:
 void ingresapedido() throws SQLException{

    ConexionMySQL mysql=new ConexionMySQL();
    Connection con=mysql.Conectar();

    String sql="",sql2="",folio,fecha,valor,proveedor;
    folio=txtfactura.getText();
    fecha=txtfecha.getText();
    valor=txtvalor.getText();
    proveedor=comboproveedor.getSelectedItem().toString();
    sql="insert into factura values(?,?,?,?)";
    sql2="select codigo from proveedor where descripcion='"+prov+"'";

        try {
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery(sql2);
        while(rs.next()){
        String prov=rs.getString(proveedor);
    }
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1,folio);
            pst.setString(2,fecha);
            pst.setString(3,valor);
            pst.setString(4,prov);
           boolean val=true;
           if(validar(val)){
            pst.executeUpdate();
             JOptionPane.showMessageDialog(null,"Pedido ingresado Correctamente!");
           }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,ex);
        }
    }
Con esto lleno el combo con los nombres
Código:
public void cargacombo() throws SQLException{
   ConexionMySQL mysql=new ConexionMySQL();
    Connection con=mysql.Conectar();
    String sql="";
    sql="select descripcion from proveedor";

    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery(sql);
    while(rs.next())
    {
        String desc=rs.getString("descripcion");
        comboproveedor.addItem(desc);
    }
}
De antemano muchas gracias.