Java - insert en ciclo

 
Vista:

insert en ciclo

Publicado por lmzv (1 intervención) el 04/01/2007 20:38:24
como puedo hacerle para dar de alta varios registros dentro de un ciclo... yo pense ke era muy facil, pero cuando lo hice, nadamas me da de alta el primer registro y de ahi termina el programa... este es mi codigo.... tengo tambien un insert dentro del mismo codigo, el cual me ejecuta solo 1 vez pero el programa sigue corriendo con lo demas

ResultSet rs = stm.executeQuery("select distinct idmateria from sesiones where idmaestro='"+idmaestro+"' and idperiodo='"+periodo+"'");

while(rs.next()){


bol=true;
String idmateria = rs.getString("idmateria");

idmat[cont]=idmateria;
out.println("<br> idmateria"+idmateria+"<br>");

ResultSet rs5= stm5.executeQuery("select * from materiasperiodos where idperiodo='"+periodo+"' and idmateria='"+idmat[cont]+"' and idmaestro='"+idmaestro+"' ");
if(rs5.next()){

out.println("<br>ya existe el registro<br>");
}else{
out.println("<br>aki tiene ke poner un nuevo registro<br>"+periodo+"--"+idmat[cont]+"--"+idmaestro);

String sql = "INSERT INTO materiasperiodos (idperiodo,idmaestro,idmateria,horasimpartidas,horasporimpartir,horasnoimpartidas) VALUES ('"+periodo+"','"+idmaestro+"','"+idmat[cont]+"','"+0+"','"+0+"','"+0+"')";
stm.executeUpdate(sql);
}

ResultSet rs2= stm2.executeQuery("select * from sesiones where idmaestro='"+idmaestro+"' and idmateria ='"+idmat[cont]+"' and idperiodo ='"+periodo+"' and fechahorainicio < '"+fechaactual+"'and (horaentrada is null or horasalida is null)");

dd=0;
while(rs2.next()){

String fechahorafinal = rs2.getString("fechahorafinal");
dd++;
out.println(dd+"--"+fechahorafinal+"<br>");

hna=dd*1.5;

session.setAttribute("hna",new Double(hna));

}

ResultSet rs3= stm3.executeQuery("select * from sesiones where idmaestro='"+idmaestro+"' and idmateria ='"+idmat[cont]+"' and idperiodo ='"+periodo+"' and fechahorainicio >= '"+fechaactual+"'");

aa=0;
while(rs3.next()){

String fechahorafinal = rs3.getString("fechahorafinal");
aa++;
out.println(aa+"--h x imp"+fechahorafinal+"<br>");

hpi=aa*1.5;

session.setAttribute("hpi",new Double(hpi));
}

ResultSet rs4= stm4.executeQuery("select * from sesiones where idmaestro='"+idmaestro+"' and idmateria ='"+idmat[cont]+"' and idperiodo ='"+periodo+"' and fechahorainicio < '"+fechaactual+"'and horaentrada is not null and horasalida is not null");

bb=0;
while(rs4.next()){

String fechahorafinal = rs4.getString("fechahorafinal");
bb++;
out.println(bb+"--h imp"+fechahorafinal+"<br>");

hi=bb*1.5;

session.setAttribute("hi",new Double(hi));
}

out.println("--------------------------------------------------------------");
out. println("idmateria"+idmat[cont]+"<br>");
out.println("idmaestro"+idmaestro+"<br>");


hna= (Double)session.getAttribute("hna");
hpi= (Double)session.getAttribute("hpi");
hi= (Double)session.getAttribute("hi");

session.setAttribute("hna",new Double(0.0));
session.setAttribute("hpi",new Double(0.0));
session.setAttribute("hi",new Double(0.0));

if(hna==null){
session.setAttribute("hna",new Double(0.0));
}
if(hpi==null){
session.setAttribute("hpi",new Double(0.0));
}
if(hi==null){
session.setAttribute("hi",new Double(0.0));
}


if(hna==null){
hna=0.0;
}
if(hpi==null){
hpi=0.0;
}
if(hi==null){
hi=0.0;
}


out.println("<br>horas no asistidas wawawa"+hna+"<br>");
out.println("<br>horas por impartir"+hpi+"<br>");
out.println("<br>horas impartidas"+hi+"<br>");

horaimp[cont]=hi;
horanoimp[cont]=hna;
horaximp[cont]=hpi;


//String sql="UPDATE materiasperiodos SET horasimpartidas='"+hi+"',horasporimpartir='"+hpi+"',horasnoimpartidas='"+hna+"' WHERE idmaestro='"+idmaestro+"' and idmateria='"+idmat[cont]+"' and idperiodo='"+periodo+"'";
//stm.executeUpdate(sql);


out.println(cont);

cont=cont+1;

}
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

RE:insert en ciclo

Publicado por luis (88 intervenciones) el 05/01/2007 22:05:38
Estas trabajando con un servlet no? porque si es asi recordaras que lo servlets se manejan por sesiones lo que necesitarias es manejar una coleccion es decir un Set, List, Enumeration, etc en donde llenes esa lista de la informacion que necesites e insertes toda la informacion en tu base de datos pero para esto necesitarias conocer algo de ORM (Hibernate, JDO, iBATIS) no se si sepas algo de esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar