java - wildcards in preparedstatement not executing -
i trying wildcards execute in preparedstatements on running returns empty result in resultset after using appropriate method, if search particular keyword statement executes.
my html file:
<form action="searchjob" method="get"> enter desired job title <input type="text" name="find"> <input type="submit" name="submit2" value="submit"> </form> servlet file:
@webservlet("/searchjob") public class searchjob extends httpservlet { @suppresswarnings("static-access") protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype("text/html"); printwriter out=response.getwriter(); string r=(string)request.getparameter("find"); list list3=null; searchjob2 t2=new searchjob2(); try { list3=t2.seek(r); } catch (classnotfoundexception ex) { } if(list3==null){ out.print(" <center><h1>no jobs found</center></h1>");} else{ arraylist<string> findr=new arraylist<string>(list3); iterator itt=findr.iterator(); out.print("<html><body><center><h1>jobs available</h1></center>"); out.println("<center><table><tr><th>job id</th><th>jod title</th><th>address</th><th>branch</th><th>technology</th><th>description</th><th>experience</th><th>salary</th></tr>"); while(itt.hasnext()) { ajob item=(ajob)itt.next(); out.print("<tr><th>"); out.print(" "+item.geta()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.getjtit()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.getc()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.getd()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.gete()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.getf()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.getg()+" "); out.print("</th>"); out.print("<th>"); out.print(" "+item.geth()+" "); out.print("</th></tr>"); }out.print("</center></table>"); } }} jdbc-odbc file:
@webservlet("/searchjob2") public class searchjob2 { public list seek(string r) throws classnotfoundexception{ { try{ class.forname("oracle.jdbc.driver.oracledriver"); connection con=drivermanager.getconnection( "jdbc:oracle:thin:@localhost:1521:xe", "system", "system"); string forsql = "%" + r + "%"; string query = "select * postjob jtit ?"; preparedstatement prepstmt = con.preparestatement(query); prepstmt.setstring(1, forsql); resultset rs = prepstmt.executequery(); list seekr=new arraylist(); while(rs.next()) { string a=rs.getstring("jid"); string b=rs.getstring("jtit"); string c=rs.getstring("addr"); string d=rs.getstring("branch"); string e=rs.getstring("tech"); string f=rs.getstring("descp"); string g=rs.getstring("exp"); string h=rs.getstring("sal"); seekr.add(new ajob(a,b,c,d,e,f,g,h)); } if(seekr.isempty()){ return null; }else{ return seekr; } } catch(sqlexception e){ } return null; } } } on running on server, if enter 'manager' keyword in textbox ,the server returns result, on entering wildcards 'themanager' or 'managerguru',it returns empty result. problem syntax wildcards or else?
you may need put wildcard inside single quotes.
Comments
Post a Comment