Ayuda con registros Update MySQL y Java

Iniciado por Dead616ss, 23 Julio 2016, 19:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Dead616ss

Estoy realizando un proyecto que por el momento iba bien, este es el diseño.
Después me tope con un error no se si es mi lógica o tal vez estoy haciendo mal el código.





Estoy tratando de modificar los datos con UPDATE en MySQL, pero eh buscado varios codigos en San google casi son los mismos mi problema es que cuando hago mi consulta va todo bien ya cuando selecciono el item del jcombobox me lo guarda pero se repiten todos los registros que se encuentran en listados dentro del jcombobox así como también los datos dentro de los jtextfield.



Código (java) [Seleccionar]
public boolean actualizarrBD(){
           
            String CURP = txtcurp.getText();
                 String MUNICIPIO = txtmunicipio.getText();
                 String RFC = txtrfc.getText();
                 String EJIDO = txtejido.getText();
                 String NOMBRE_PRODUCTOR = txtnp.getText();
                 String PREDIO_PREDIO_SECUENCIAL = chkps.getSelectedItem().toString();
                 String CURP_PROPIETARIO = txtcp.getText();
                 String NOMBRE_PROPIETARIO = txtnpro.getText();
                 String SUPERFICIE_TOTAL = txtst.getText();
                 String SUPERFICIE_INCENTIVO = txtsi.getText();
                 String SUPERFICIE_CULTIVADA = txtscul.getText();
                 String CULTIVO_PREDOMINANTE = txtcpredo.getText();
                 String REGIMEN_HIDRICO = txtrh.getText();
                 String FOLIO_DOCUMENTO_LEGAL = txtdl.getText();
                 String FOLIO_TRAMITE = txtfP.getText();
           
//Este que se encuentra comentado tambien lo eh hecho pero me hace lo mismo
             
//                    String sSQL = "UPDATE datoavance9 SET CURP='"+CURP+"' ,MUNICIPIO ='"+MUNICIPIO+"',RFC='"+RFC+"',EJIDO='"+EJIDO+"',NOMBRE_PRODUCTOR='"+NOMBRE_PRODUCTOR+"',PREDIO_PREDIO_SECUENCIAL ='"+PREDIO_PREDIO_SECUENCIAL+"', "
//                            + "CURP_PROPIETARIO='"+CURP_PROPIETARIO+"',NOMBRE_PROPIETARIO='"+NOMBRE_PROPIETARIO+"',SUPERFICIE_TOTAL='"+SUPERFICIE_TOTAL+"',SUPERFICIE_INCENTIVO='"+SUPERFICIE_INCENTIVO+"',SUPERFICIE_CULTIVADA='"+SUPERFICIE_CULTIVADA+"',CULTIVO_PREDOMINANTE='"+CULTIVO_PREDOMINANTE+"',"
//                         + "REGIMEN_HIDRICO='"+REGIMEN_HIDRICO+"',FOLIO_DOCUMENTO_LEGAL='"+FOLIO_DOCUMENTO_LEGAL+"',FOLIO_TRAMITE='"+FOLIO_TRAMITE+"' WHERE CURP='"+txtcurp.getText()+"'";
//                   
                    String sSQL = "UPDATE datoavance9 SET CURP=? ,MUNICIPIO =?,RFC=?,EJIDO=?,NOMBRE_PRODUCTOR=?,PREDIO_PREDIO_SECUENCIAL =? ,CURP_PROPIETARIO=?,NOMBRE_PROPIETARIO=?,SUPERFICIE_TOTAL=?,SUPERFICIE_INCENTIVO=?,SUPERFICIE_CULTIVADA=?,CULTIVO_PREDOMINANTE=?,REGIMEN_HIDRICO=?,FOLIO_DOCUMENTO_LEGAL=?,FOLIO_TRAMITE=? WHERE CURP=?";
                   
            try{       
        Connection conn = null;   
       Class.forName("com.mysql.jdbc.Driver");
       conn = DriverManager.getConnection(url,login,password);
      PreparedStatement st = conn.prepareStatement(sSQL);
     
                st.setString(1, CURP);
                 st.setString(2,MUNICIPIO);
                  st.setString(3,RFC);
                 st.setString(4,EJIDO);
                  st.setString(5,NOMBRE_PRODUCTOR);
                 st.setString(6,PREDIO_PREDIO_SECUENCIAL);
                 st.setString(7,CURP_PROPIETARIO);
                st.setString(8,NOMBRE_PROPIETARIO);
                st.setString(9,SUPERFICIE_TOTAL);
                 st.setString(10,SUPERFICIE_INCENTIVO);
                 st.setString(11,SUPERFICIE_CULTIVADA);
                  st.setString(12,CULTIVO_PREDOMINANTE);
                  st.setString(13,REGIMEN_HIDRICO);
                  st.setString(14,FOLIO_DOCUMENTO_LEGAL);
                 st.setString(15,FOLIO_TRAMITE);
                 st.setString(16,CURP);
     
                 st.executeUpdate(sSQL);
                   conn.close();
               
   }
           
   catch(ClassNotFoundException | SQLException ex){
       Logger.getLogger(usernew.class.getName()).log(Level.SEVERE,null,ex);     
   }       
         return false;
         }


Codigo del item para rellenar los datos de los otros jtextfield

Código (java) [Seleccionar]
private void chkpsPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_chkpsPopupMenuWillBecomeInvisible
        chkps.setEditable(true);
        String tmp= (String) chkps.getSelectedItem();
        String sql = "SELECT * from datoavance9 where PREDIO_PREDIO_SECUENCIAL=?";

        try{
            Connection conn = null;
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url,login,password);
            PreparedStatement  pst=conn.prepareStatement(sql);
            pst.setString(1,tmp);
            ResultSet  rs=pst.executeQuery();

            if(rs.next()){
                String add1= rs.getString("CURP_PROPIETARIO");
                txtcp.setText(add1);
                String add2= rs.getString("NOMBRE_PROPIETARIO");
                txtnpro.setText(add2);
                String add3= rs.getString("SUPERFICIE_TOTAL");
                txtst.setText(add3);
                String add4= rs.getString("SUPERFICIE_INCENTIVO");
                txtsi.setText(add4);
                String add5= rs.getString("SUPERFICIE_CULTIVADA");
                txtscul.setText(add5);
                String add6= rs.getString("CULTIVO_PREDOMINANTE");
                txtcpredo.setText(add6);
                String add7= rs.getString("REGIMEN_HIDRICO");
                txtrh.setText(add7);
                String add8= rs.getString("FOLIO_DOCUMENTO_LEGAL");
                txtdl.setText(add8);
                String add9= rs.getString("FOLIO_TRAMITE");
                txtfP.setText(add9);
                String add10= rs.getString("TIPO_DOCUMENTO_LEGAL");
                txtdoclegal.setText(add10);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }




Espero me pueda ayudar