Programación General > Java
Ayuda Con Java
(1/1)
XaSu:
hola. mira mi problema es en esta parte de mi codigo. el primer while recorre todo la tabla, en mi programa declaro un ResultSet donde llamo a una tabla de mi BD, el primer if, estoi preguntando si lo que contiene la variable palabra es lo mismo que esta en la tabla(columna Respuesta), si es igual que lo que contiene la Contrarespuesta(segunda columna de la misma tabla de Respuesta) lo guarde en la variable a, sino que recorra una segunda tabla (segundo while) y que me sak un dato de la otra tabla y lo guarde en la variable a.
mi problema esque si tengo n datos en la primera tabla y la variable palabra es igual a un dato me va a recorrer una vez el if y las demas veces el else(las n-1 vez), como puedo poner para que recorra toda la tabla y si encuentra algo lo guarde en la variable a y si no que me recorra el else???
ojala me puedan ayudar =)
aki les dejo el blok del problema.
while (rs.next())
{
sql = rs.getString("Contrarespuesta");
l = rs.getString("Respuesta");
if(palabra.equals(l))
{
a=sql;
}
else
{
while(rs2.next())
{
doc=rs2.getString("Frase");
a=doc;
}
}
}
XaSu
arielb:
prueba de esta manera trabajando de forma anidada.
--- Código: Text ---while (rs.next()){ sql = rs.getString("Contrarespuesta"); l = rs.getString("Respuesta"); while(rs2.next()) { if(palabra.equals(l)) { a=sql; } else { doc=rs2.getString("Frase"); a=doc; } }}
aunque podrias usar una sentencia con inner join.
XaSu:
mm gracias pero io no kiero k recorra las dos tablas al mismo tiempo, ni tampoco juntar datos.
lo que io kiero es k recorra una tabla primero y los datos de una columna los compare con una variable, si encuentra igualda que los guarde en una variable(a) y si no encuentra datos que me recorra la segunda tabla y me eliga cualkier dato de hay.
el problema que tengo con el codigo que puse anteriormente, es que si encuentra el dato en el primer registro, despues igual me recorre el else, ahi esta el problema.
XaSu
Manixxx:
y ya probaste de este modo
while (rs.next())
{
sql = rs.getString("Contrarespuesta");
l = rs.getString("Respuesta");
if(palabra.equals(l))
{
a=sql;
break; // asi termina
}
else
{
while(rs2.next())
{
doc=rs2.getString("Frase");
a=doc;
}
si es el caso de tu problema
dajacar:
--- Cita de: "juez" --- prueba de esta manera trabajando de forma anidada.
--- Código: Text ---while (rs.next()){ sql = rs.getString("Contrarespuesta"); l = rs.getString("Respuesta"); while(rs2.next()) { if(palabra.equals(l)) { a=sql; } else { doc=rs2.getString("Frase"); a=doc; } }}
aunque podrias usar una sentencia con inner join.
--- Fin de la cita ---
hola m podrias ayudar a poner un juego java en red
Navegación
Ir a la versión completa