Hola , necesito ayuda en mi programa por favor

Iniciado por roxxer, 22 Agosto 2021, 23:28 PM

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

roxxer

Hola , me prsento, soy estudiante y necesito su ayuda, ya que llevo dias queriendo buscar error pero no se mucho aqui dejare una parte del codigo y error en netbens usando java y otros.

cargo e inicio el combobbox con datos de la base de datos :
)en la base de datos , la tabla cargo tiene recien 2 datos :  tecnico y administracion)

Código (java) [Seleccionar]
int contador=0;
   public editusuario() {
       initComponents();

 this.ccargo.removeAllItems();
       try{
           
           Connection con=DriverManager.getConnection("jdbc:mysql://localhost/sistemaherramientas","root","");
           Statement sent=con.createStatement();
           ResultSet rs= sent.executeQuery("select * from cargo");
           
       //    ccargo.addItem("seleccione un Cargo");
           
           while(rs.next()){
               
               this.ccargo.addItem(rs.getString("nombrecargo"));
               
           }
           contador++;
       
       
       }catch(Exception e){
           JOptionPane.showMessageDialog(null,e);
       
       }
}




Luego ya tengo el codigo del combobox pero necesito mas ayuda por que no me deja guiardar el dato seleccionado

Código (java) [Seleccionar]
public void InsertarDatos(){
       
   
    try {
       
           
                   
       
     
       String SQL="insert into usuario(rutfuncionario,nombrefuncionario,cargo,fechamodificacion,contrasena) values (?,?,?,?,?)";
       PreparedStatement pst=con.prepareStatement(SQL);
           
           pst.setString(1,txtrut.getText());
           pst.setString(2,txtnombre.getText());
         int selecionado=ccargo.getSelectedIndex();
       pst.setString(3,ccargo.getItemAt(selecionado));
pst.setString(4,txtfecha.getText());
           pst.setString(5,mEncoder.ecnode(txtcontraseña.getText()));
           
           
           
           
           pst.execute();
           
           JOptionPane.showMessageDialog(null, "Se agrego el registro"); //enviamos un mensaje para que el usuario sepa que se ingreso a la bd
           
         
       
   } catch (Exception e){
       
           JOptionPane.showMessageDialog(null, "error registro" +e.getMessage());
   }
    }


private void ccargoActionPerformed(java.awt.event.ActionEvent evt) {                                      
       // TODO add your handling code here:
       
       try{
           if(this.contador>0){
           Connection con1= DriverManager.getConnection("jdbc:mysql://localhost/sistemaherramientas","root","");
           Statement sent1= con1.createStatement();
           ResultSet rs1 = sent1.executeQuery("select * from cargo where nombrecargo='"+this.ccargo.getSelectedItem()+"'");
           rs1.next();
      //     this.idtxt.setText(String.valueOf(rs1.getInt("idcargo")));
           
           }
       
       }
       
       
       catch(Exception e){
       
        JOptionPane.showMessageDialog(null,e);
       
       
       
       }



el error es  :  "Error registroData truncation: Incorrect Integer value : "Administracion" for column cargo at row 1"

la base de datos se compone de usuario(id(pk auto),rutfuncionario,nombrefuncionario,fechamodificacion,contrasena,cargo(fk (99))) y cargo (id cargo :int(99)  y nombre cargo (varchar))
por favor alguna ayudita