Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Problema con bucle while

Hola a todos.

Tengo un problema con un bucle while que funciona correctamente en cuanto a los resultado que debe devolver pero lo hace 2 veces y ya no sé como mirarlo para ver dónde esta el error.

Os dejo el código por si alguno de vosotros me puede indicar que estoy haciendo mal que este while realizce 2 veces el proceso de recorrer el resultSet

public String buscaNameContacto(String busca)
{
//Conecto con BD
accesoBD = new ConectarDB();
accesoBD.conectandoBD();

//variables
resultado = "";
coincidencia = 0;

try
{
//Realizamos consulta sobre BD de contactos
String Sqlcontacto = "select nombre,apellidos,palabra from contactos,palabras where idcontacto=palabras.idcontactoFK order by nombre";
ResultSet rstname = accesoBD.st.executeQuery(Sqlcontacto);

//Buscamos coincidencia por nombre y apellidos
while (rstname.next())
{
//Obtengo valores del resulset
contacto = rstname.getString(1) + " " + rstname.getString(2);

//Buscamos coincidencia por nombre y apellidos
if (busca.equals(rstname.getString(1) + " " + rstname.getString(2)))
{
coincidencia = 1;
resultado = contacto;
}

//Buscamos coincidencia por nombre
else if (busca.equals(rstname.getString(1)))
{
coincidencia = 1;
resultado = contacto;
}

//Buscamos coincidencia por apellidos
else if (busca.equals(rstname.getString(2)))
{
coincidencia = 1;
resultado = contacto;
}

//Buscamos coincidencia por palabra clave
else
{
String [] separaclave = rstname.getString(3).split("_");

for (int i=0;i<separaclave.length;i++)
{
if (busca.equals(separaclave[i]))
{
coincidencia = 1;
resultado = contacto;
}
}
}
}

if (coincidencia == 0)
{
JOptionPane.showMessageDialog(null, "No se encontraron contactos con esa palabra clave", "Lista de Contactos", JOptionPane.INFORMATION_MESSAGE);
}

//rstname.close();
accesoBD.st.close();
}
catch (SQLException ErrSql)
{
// TODO Auto-generated catch block
ErrSql.printStackTrace();
}

return resultado;
}

Un saludo.

junio 20, 2014 | Unregistered CommenterJose Manuel

¿No estarás llamando dos veces a este método?

junio 20, 2014 | Registered Commenterchoces

Cierto choces.

A veces lo más simple no lo ves.

Gracias por todo.

Podéis cerrar el hilo.

junio 20, 2014 | Unregistered CommenterJose Manuel