Ik heb een probleem, maar de oplossing is me vanzelfsprekend nog niet duidelijk. Ik gebruik de volgende code:
PHP-code:
String Query = "SELECT * FROM Hardware WHERE Apparaat LIKE '"+request.getParameter("zoekterm")+"' OR Apparaat LIKE '"+request.getParameter("zoekterm")+" *'";
De SQL-query werkt in MS Access, maar ik krijg het niet gedaan via m'n JSP-pagina. Het probleem is inmiddels duidelijk: iets of iemand houdt niet van spaties.
Het gedeelte vóór de OR-operator werkt prima, als ik een waarde invul die overeenkomt met een record uit de kolom Apparaat wordt het resultaat weergegeven in m'n tabel. (Met Recordset e.d.)
Alleen, als ik een deel 'harde' van 'harde schijf' invul, doet hij het niet. Dit zou verwerkt moeten worden door de LIKE-operator ná de OR-operator. De spatie lijkt het probleem, maar ik heb geen idee hoe ik het kan doen zonder een spatie.
Meerdere asterisken lukt niet.
Iemand enig idee?
Zie hieronder de volledige code, voor de duidelijkheid.
PHP-code:
<html>
<head>
<title>Detailpagina</title>
</head>
<body>
<center>
<INPUT TYPE="BUTTON" VALUE="Terug!" onClick="history.back()">
<P>
<P>
<P>
<body bgcolor="gray">
<%@ page language="java" import="java.sql.*" import="java.io.*" %>
<%
Connection Connect = null;
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connect = DriverManager.getConnection("jdbc:odbc:MediaMarkt","","");
Statement statement = Connect.createStatement();
String Query = "SELECT * FROM Hardware WHERE Apparaat LIKE '"+request.getParameter("zoekterm")+"' OR Apparaat LIKE
'"+request.getParameter("zoekterm")+" *'";
ResultSet Res = statement.executeQuery(Query);
out.write("<TABLE BORDER='1'>");
out.write("<TR><TH>Product</TH>");
out.write("<TH>Type</TH>");
out.write("<TH>Omschrijving</TH>");
out.write("<TH>Prijs</TH>");
out.write("<TH>Fabrikant</TH>");
out.write("<TH>Leverbaar</TH>");
out.write("<TH>Afbeelding</TH>");
while ( Res.next() )
{
out.write("<TR>\n<TD width=100><center>" + Res.getString("Apparaat") + "</TD>");
out.write("<TD width=50><center>" + Res.getString("Type") + "</TD>");
out.write("<TD width=200><center>" + Res.getString("Omschrijving") + "</TD>");
out.write("<TD width=50><center>" + Res.getDouble("Prijs") + "</TD>");
out.write("<TD width=50><center>" + Res.getString("Producent") + "</TD>");
out.write("<TD width=50><center>" + Res.getString("Leverbaar") + "</TD>");
out.write("<TD><img width=100 height=100 src=\"" + Res.getString("Afbeelding") + "\"></A></TD>");
}
Res.close();
}
catch (IOException ioe)
{
out.println(ioe.getMessage());
}
catch (SQLException sqle)
{
out.println(sqle.getMessage() );
}
catch (ClassNotFoundException cnfe)
{
out.println(cnfe.getMessage());
}
catch (Exception e)
{
out.println(e.getMessage());
}
finally
{
try
{
if ( Connect != null )
{
Connect.close();
}
}
catch (SQLException sqle)
{
out.println(sqle.getMessage());
}
}
%>
<P align="center">
<body alink="red" link="black" vlink="darkgray">
</body>
</html>
Let niet op de PHP-zooi, dit heeft niets met PHP te maken.