Problema su list

di il
2 risposte

Problema su list

Buonasera ragazzi, ho bisogno di un piccolo aiuto.
Ho una vista dettagli dei clienti (updatecust.jsp) e una vista elenco dei prodotti (viewlistproduct.jsp). Voglio che quando clicco su un cliente nella vista dettaglio, mi dica anche quali prodotti ha acquistato quel cliente in vista elenco.
Su questo non ho problemi.
Per fare tutto questo passo sulla pagina jsp della vista di dettaglio del cliente la pagina jsp relativa alla vista elenco dei prodotti (quindi tramite un page include ....) dove passo anche il codice identificativo del cliente (es. IDCustomer). Credo che il problema sia proprio qui.

Questo è il codice di updatecust.jsp:
<html>
<head>

</head>
<body>
 
<form id="edit" action="updatecust" method="post">
<pre>
<c:forEach var="customer" items="${listCustomer}">
<input type="hidden" name="IDCustomer" value="${customer.IDCustomer}" />
</tr>
                                
Vari input text

<input type="submit" value="Save" />
</c:forEach>    
</pre>
</form>
 
</body>
</html>

Ho provato a mettere un System out println per vedere cosa restituisce list, ma ottengo una lista vuota. Quindi credo che l'errore sia nel passare il parametro IDCustomer nella pagina updatecust.jsp.

2 Risposte

  • Re: Problema su list

    Non vedo grossi errori, ma forse la query così com'è non piace al DBMS: nella WHERE stai usando il campo senza referenziare la tabella (se è presente anche in altre tabelle usate nella query, allora c'è un conflitto di nome):
    
    SELECT acq.IDCustomer, acq.date, pro.IDProduct, pro.name, pro.photo, pro.price 
    FROM product pro join purchase acq ON acq.IDProduct = pro.IDProduct
    WHERE acq.IDCustomer=?   <<-- ho aggiunto 'acq.' per referenziare la tabella
    
    Eventualmente controlla il log del server per vedere se viene sollevata qualche eccezione.
  • Re: Problema su list

    SpiritoLibero ha scritto:


    Non vedo grossi errori, ma forse la query così com'è non piace al DBMS: nella WHERE stai usando il campo senza referenziare la tabella (se è presente anche in altre tabelle usate nella query, allora c'è un conflitto di nome):
    
    SELECT acq.IDCustomer, acq.date, pro.IDProduct, pro.name, pro.photo, pro.price 
    FROM product pro join purchase acq ON acq.IDProduct = pro.IDProduct
    WHERE acq.IDCustomer=?   <<-- ho aggiunto 'acq.' per referenziare la tabella
    
    Eventualmente controlla il log del server per vedere se viene sollevata qualche eccezione.
    Ho provato a fare questo, per il momento funziona. Ti ringrazio tantissimo
Devi accedere o registrarti per scrivere nel forum
2 risposte