Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2015, 13:58
beto2269
 
Fecha de Ingreso: diciembre-2014
Ubicación: cali
Mensajes: 9
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta insertar el ultimo codigo generado. a una base de datos

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">.
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 .
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.

private void btnregistraActionPerformed(java.awt.event.ActionEv ent 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.ActionEve nt evt) {
txtbanco.setText("");
}


de antemano Muchas gracias por decime donde esta el error