Filtrar busca

E o seguinte, tenho que fazer ua consulta no banco mais ela temque ser filtada, mas o like variavel% não esta filtrando da maneira que eu preciso, ja tentei de tudo: converter para array de caracter e comparar com array de caracter do resultado do bd, mas achou que estou falhando na lógica. vou postar meu código se alguem tiver uma dica…
aps não repara as gambiarras hehe

<%@ page import="java.sql.*"%>

<% 
    String nome=request.getParameter("names");
    
	try{

         Class.forName("org.gjt.mm.mysql.Driver");
	     Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Teste","root","");
	     PreparedStatement stmt=con.prepareStatement("select *  from door where first like  ? or  last like ?");
	 
	     stmt.setString(1,nome+"%");
	     stmt.setString(2,nome+"%");
		
	         ResultSet rs=stmt.executeQuery();
		
	int flag=0;
	char resg[];

	while(rs.next())
	{
	flag=1;
	rs.previous();
	break;
	}

	if (flag==1)
	{

	%>
	<table border=1>
	<tr>
	<td>Last</td>
	<td>First</td>
	<td>Relationship</td>
	<td>Related Resident</td>
	<td>Expiration Date</td>
	<%

		int i=0;
		
			while(rs.next())
			{  
				if(i==0)
				{
					out.print("<tr bgcolor=\"#ffffff\"><td>"+rs.getString("first")+"</td>");
					out.print("<td>"+rs.getString("last")+"</td>");
					out.print("<td>"+rs.getString("relationship")+"</td>");
			        out.print("<td>"+rs.getString("relatresi")+"</td>");
			        out.print("<td>"+rs.getString("expdate")+"</td></tr>");
					i=1;
				}
				else
				{
					out.print("<tr bgcolor=\"#cccccc\"><td>"+rs.getString("first")+"</td>");
					out.print("<td>"+rs.getString("last")+"</td>");
					out.print("<td>"+rs.getString("relationship")+"</td>");
			        out.print("<td>"+rs.getString("relatresi")+"</td>");
			        out.print("<td>"+rs.getString("expdate")+"</td></tr>");
					i=0;
				}
			}

		out.print("</table>");

		rs.close();
		stmt.close();
		con.close();
	}
	else
	{
	out.print("<h1>Not Found</h1>");
	}

	}
	catch(Exception e)
	{
	out.print(e.getMessage());	
	}
%>

vlw abs’[]

A % deve ir junto com o select.

"select *  from door where first like  ?% or  last like ?%");

Ja tentei dessa maneira tmb mas não deu certo eh pq tem uma implementação de ajax que eu não coloquei aki , e ta passando direto, parece que não ta testando!!

msm assim vlw… abs