Pdrian decirme el error de este programa
String mate = Emate.getText().toString();
int grado = Integer.parseInt(Egrado.getText());
int semana = Integer.parseInt(Esema.getText());
int bloque = Integer.parseInt(Ebloque.getText());
String x;
int y;
if (mate.equals("") || grado == 0 || semana == 0 || bloque == 0){
javax.swing.JOptionPane.showMessageDialog(null, "Hay espacios en blanco.");
}
else{
bd.conectarp();
bd.orden = (Statement) bd.conexion.createStatement();
bd.respuesta = bd.orden.executeQuery("SELECT materia,grado FROM materias ");
while ( bd.respuesta.next()){
for (int i=0; i<1; i++){
x = bd.respuesta.getObject("materia").toString();
y = Integer.parseInt(bd.respuesta.getObject("grado").toString());
if(x.equals(mate) && y == grado){
javax.swing.JOptionPane.showMessageDialog(null, "Ya existe este registro.");
}
i++;
bd.desconectar(); }
}
bd.desconectar();
try {
bd.conectarp();
bd.orden = (Statement) bd.conexion.createStatement();
bd.orden.executeUpdate("INSERT INTO materias (materia,grado,semanas,Bloques) VALUES ('" + mate + "','" + grado + "','" + semana + "','" + bloque + "')");
lista ();
}
catch (SQLException ex) {
Logger.getLogger(EditarPrograma.class.getName()).log(Level.SEVERE, null, ex);
javax.swing.JOptionPane.showMessageDialog(null, "Error al conectarse con la base de datos.");
}
bd.desconectar();
}
Emate.setText(null);
Egrado.setText("0");
Esema.setText("0");
Ebloque.setText("0");
} catch (SQLException ex) {
Logger.getLogger(EditarPrograma.class.getName()).log(Level.SEVERE, null, ex);
}
- Inicie sesión o regístrese para enviar comentarios
el problema
es que no puedo hacer que se detenga el programa cuando ya esta registrado el registro,manda el mensaje de que ya existe pero igual agrega el registro y recuerdo el breack de el switch pero no se si puedo usarlo en un if dentro dele un for dentro de un while que pueden ayudar soy estudiante bueno el chiste es como puedo detener el proceso y evitar que continué
Error en tu logica
Existe algo similar al goto en java usando break
...
break afuera;
}
con eso sales del bloque, ademas pienso que deberias mejor definir un metodo para el insert que no haga todo el proceso en un solo metodo pues.
ok
ok tiene razón en lo del método pero yo no conosco la redacción del breack que mencionas
Ademas se me ocurrio en se mismo problema
al momento del if que da el mensaje de que ya existe el registro poner todos los textbox en blanco como tengo el otro if de espacio en blanco y reactualizar las variables y funciono si en l break de todos modos seguiré tu recomendación y agradezco tu tiempo de ayudarme
String mate = Emate.getText().toString();
int grado = Integer.parseInt(Egrado.getText());
int semana = Integer.parseInt(Esema.getText());
int bloque = Integer.parseInt(Ebloque.getText());
String x;
int y;
bd.conectarp();
bd.orden = (Statement) bd.conexion.createStatement();
bd.respuesta = bd.orden.executeQuery("SELECT materia,grado FROM materias ");
while ( bd.respuesta.next()){
for (int i=0; i<1; i++){
x = bd.respuesta.getObject("materia").toString();
y = Integer.parseInt(bd.respuesta.getObject("grado").toString());
if(x.equals(mate) && y == grado){
javax.swing.JOptionPane.showMessageDialog(null, "Ya existe este registro.");
Emate.setText(null);
Egrado.setText("0");
Esema.setText("0");
Ebloque.setText("0");
}
i++;
}
}
bd.desconectar();
mate = Emate.getText().toString();
grado = Integer.parseInt(Egrado.getText());
semana = Integer.parseInt(Esema.getText());
bloque = Integer.parseInt(Ebloque.getText());
if (mate.equals("") || grado == 0 || semana == 0 || bloque == 0){
javax.swing.JOptionPane.showMessageDialog(null, "Hay espacios en blanco.");
}
else{
try {
bd.conectarp();
bd.orden = (Statement) bd.conexion.createStatement();
bd.orden.executeUpdate("INSERT INTO materias (materia,grado,semanas,Bloques) VALUES ('" + mate + "','" + grado + "','" + semana + "','" + bloque + "')");
lista ();
}
catch (SQLException ex) {
Logger.getLogger(EditarPrograma.class.getName()).log(Level.SEVERE, null, ex);
javax.swing.JOptionPane.showMessageDialog(null, "Error al conectarse con la base de datos.");
}
bd.desconectar();
}
Emate.setText(null);
Egrado.setText("0");
Esema.setText("0");
Ebloque.setText("0");
} catch (SQLException ex) {
Logger.getLogger(EditarPrograma.class.getName()).log(Level.SEVERE, null, ex);
}