Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Huiswerkvragen: Exacte vakken (https://forum.scholieren.com/forumdisplay.php?f=17)
-   -   SQL/JSP-probleem (https://forum.scholieren.com/showthread.php?t=1551596)

Klaas B. 05-03-2007 19:44

SQL/JSP-probleem
 
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.

Klaas B. 05-03-2007 20:18

Het was % in plaats van *, kan gesloten worden.


Alle tijden zijn GMT +1. Het is nu 23:59.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.