• Viernes 8 de Noviembre de 2024, 12:47

Autor Tema:  Ayuda Con Java  (Leído 1628 veces)

XaSu

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Ayuda Con Java
« en: Martes 29 de Mayo de 2007, 22:31 »
0
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

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ayuda Con Java
« Respuesta #1 en: Martes 29 de Mayo de 2007, 23:18 »
0
prueba de esta manera trabajando de forma anidada.

Código: Text
  1. while (rs.next())
  2. {
  3.    sql = rs.getString("Contrarespuesta");
  4.    l = rs.getString("Respuesta");
  5.   while(rs2.next())
  6.   {  
  7.     if(palabra.equals(l))
  8.     {
  9.       a=sql;
  10.     }
  11.     else
  12.     {
  13.       doc=rs2.getString("Frase");
  14.       a=doc;
  15.     }
  16.   }
  17. }
  18.  

aunque podrias usar una sentencia con inner join.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

XaSu

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Ayuda Con Java
« Respuesta #2 en: Miércoles 30 de Mayo de 2007, 16:47 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Ayuda Con Java
« Respuesta #3 en: Miércoles 6 de Junio de 2007, 02:51 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Ayuda Con Java
« Respuesta #4 en: Sábado 9 de Junio de 2007, 18:42 »
0
Cita de: "juez"
prueba de esta manera trabajando de forma anidada.

Código: Text
  1. while (rs.next())
  2. {
  3.    sql = rs.getString("Contrarespuesta");
  4.    l = rs.getString("Respuesta");
  5.   while(rs2.next())
  6.   {  
  7.     if(palabra.equals(l))
  8.     {
  9.       a=sql;
  10.     }
  11.     else
  12.     {
  13.       doc=rs2.getString("Frase");
  14.       a=doc;
  15.     }
  16.   }
  17. }
  18.  

aunque podrias usar una sentencia con inner join.
hola m podrias ayudar a poner un juego java en red