Netbeans - insertar y grabar el ultimo codigo en base de datos phpmyadmin

   
Vista:
Imágen de perfil de roberto

insertar y grabar el ultimo codigo en base de datos phpmyadmin

Publicado por roberto (3 intervenciones) el 07/01/2015 20:51:03
que tal amigos si alguien me puede decir como grabar el ultmo codigo y de manera secuencial originado de manera automatica e realizado una clase que me genera el codigo de manera secuencial, y la instancio en un formulario que es el que me le enlaza a la base de datos la informacion. El problema es que me genera el primer codigo pero no me genera el segundo, el problema es de programacion ya que la base de datos esta bien normalizada envio la clase y parte del codigo que me permite generar el ultimo codigo, al ejecutar el programa me sale este error < For input string: "n001">.
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
clase para generar secuencia de codigo.
public class generarcodigo {
    private int dato;
    private int cont=1;
    private String num="";
 
    public void  generar(int dato){
        this.dato=dato;
 
        if ((this.dato>=1000) ||(this.dato<10000))
        {
 
            int can=cont+this.dato;
            num="cp"+can;
          }
        if ((this.dato>=100) ||(this.dato<1000))
        {
            int can=cont+this.dato;
            num="cp0"+can;
        }
        if ((this.dato>=9) &&(this.dato<100))
        {
            int can=cont+this.dato;
            num="cp00"+can;
        }
        if ((this.dato>=1)&&(this.dato<9))
        {
            int can=cont+this.dato;
            num="cp000"+can;
        }
        if (this.dato==0)
        {
           int can=cont+this.dato;
            num="cp000"+can;
 
        }
 
    }
 
    public String serie(){
        return this.num;
    }
 
}

metodo que insatacia la clase .
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
void codigobanco() {
        int j;
        String c = "";
        conexionmysql mysql = new conexionmysql();
        Connection con = mysql.conectar();
 
        String sql = "SELECT MAX(`id_banco`) AS `id_banco` FROM `banco`";
 
        try {
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            if (rs.next()) {
                c = rs.getString("id_banco");
            }
            if (c == null) {
                txtcod.setText("ban001");
            } else {
                char r1 = c.charAt(2);
                char r2 = c.charAt(3);
                char r3 = c.charAt(4);
                char r4 = c.charAt(5);
                String juntar = "" + r1 + r2 + r3 + r4;
                int var = Integer.parseInt(juntar);
                generarcodigo gen = new generarcodigo();
                gen.generar(var);
                txtcod.setText(gen.serie());
 
            }
 
        } catch (SQLException ex) {
            Logger.getLogger(numerocuenta.class.getName()).log(Level.SEVERE, null, ex);
        }
 
    }

metodo para registrar el e insertar a la base de datos la informacion.

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
private void btnregistraActionPerformed(java.awt.event.ActionEvent evt) {
        numerocuenta num = new numerocuenta();
        Menus.escritorio.add(num);
        num.toFront();
        num.setVisible(true);
 
        conexionmysql mysql = new conexionmysql();
        Connection con = mysql.conectar();
        String sql = "";
        String banco,cod;
 
        banco = txtbanco.getText();
        cod=txtcod.getText();
 
 
        sql = "INSERT INTO `banco`( `id_banco`,`nombre`) VALUES (?,?)";
 
        try {
            PreparedStatement pst = con.prepareStatement(sql);
 
           pst.setString(1, cod);
            pst.setString(2, banco);
            int n = pst.executeUpdate();
 
 
        } catch (SQLException ex) {
            Logger.getLogger(bancos.class.getName()).log(Level.SEVERE, null, ex);
        }
        this.dispose();
 
    }
 
    private void btnsaleActionPerformed(java.awt.event.ActionEvent evt) {
        this.dispose();
    }
 
    private void btncancelaActionPerformed(java.awt.event.ActionEvent evt) {
        txtbanco.setText("");
    }


de antemano Muchas gracias por decime donde esta el error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roberto

insertar y grabar el ultimo codigo en base de datos phpmyadmin

Publicado por roberto (3 intervenciones) el 07/01/2015 22:28:37
resuelto el problema pero quedo a medias que mas adelante adquiriendo experiencia lograre hacerlo y es el de aplicar al codigo letras por ejemplo <cp0001> la cual la clase no me permite hacerlo de todos modos tengo que seguir avanzando y no quedarme dias enteros en una sola cosa alli envio la clase ya resuelta para alguien que quizas lo nesecite ah si alguien sabe algo al respecto se los agradeceria bastante codigo con letras <cp001> que se genere de manera automatica.

clase...
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
public class generarcodigo {
    private int dato;
    private int cont=1;
    private String num="";
 
    public void  generar(int dato){
 
 this.dato = dato;
 
           if((this.dato>=1000) || (this.dato<10000))
           {
               int can=cont+this.dato;
               num = "" + can;
           }
           if((this.dato>=100) || (this.dato<1000))
           {
               int can=cont+this.dato;
               num = "0" + can;
           }
           if((this.dato>=9) || (this.dato<100))
           {
                int can=cont+this.dato;
               num = "00" + can;
           }
           if (this.dato<9)
           {
               int can=cont+this.dato;
               num = "000" + can;
           }
 
    }
 
    public String serie()
    {
        return this.num;
    }
}


metodo.

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
int j;
        String c = "";
        conexionmysql mysql = new conexionmysql();
        Connection con = mysql.conectar();
 
        String sql = "SELECT MAX(`id_banco`) AS `id_banco` FROM `banco`";
         try {
            Statement st = con.createStatement();
            ResultSet rs=st.executeQuery(sql);
            if(rs.next())
            {
                 c=rs.getString(1);
            }
 
 
            if(c==null){
               txtcod.setText("0001");
            }
            else{
                 j=Integer.parseInt(c);
                 generarcodigo gen= new generarcodigo();
                 gen.generar(j);
                 txtcod.setText(gen.serie());
 
 
            }
 
        } catch (SQLException ex) {
           Logger.getLogger(numerocuenta.class.getName()).log(Level.SEVERE, null, ex);
        }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar