20 messaggi dal 20 maggio 2005
Salve ragazzi,

spero di spiegarmi bene e che il mio errore sia di facile interpretazione e soluzione.

Ho la mia drop down list con un pulsante cerca, uno annull e una casella di testo...fin qui tutto ok.....
<form method="GET" action="biblioteca/biblioteca.asp" target="_blank">
<select size="1" name="order">
<option>&nbsp;</option>
<option>Titolo</option>
<option>Autore</option>
<option>Editore</option>
<option>Anno</option>
</select>
<p><input type="text" name="testo" size="13"></p>
<input type="reset" value="Annulla" size="9">
<input type="submit" value="Cerca" name="submit" size="9">
</form>
---------------------------------------------
Riporto il codice della pagina biblioteca.asp
-------------------------------------------
Se l'utente non riempie la casella di testo e non seleziona nessuna voce dell'elenco a cascata, viene visualizzato tutto il contenuto del db e fin qui ci siamo......
I problemi iniziano quando l'utente fa una selezione....
Mi da problemi dopo la Where....come si mettono gli apici???
-----------------------------------------------------------
strSQL = "Select * from biblioteca WHERE "&% "%' testo LIKE '%" & request("testo") &"%' " &" ORDER BY " & request("order")
------------------------------------------------------------
il db è composto dalla tabella libri e i campi sono: Id, autore, anno, editore e titolo
-----------------------------------------------------------
<HTML>
<HEAD>
<TITLE>Biblioteca Virtuale</TITLE>
</HEAD>
<BODY background="../images/r4.jpg">
<table width=100% cellspacing=0 cellpadding=0>
<tr><td><font size=-3 >&nbsp;</font></td></tr>
<tr><td align=center><font color=#0000A0 face=Tahoma,Arial size=4><B>Biblioteca Virtuale</B></font></td></tr>
<tr><td align=center><hr size=1></td></tr>
</table>
<br><br>

<%
Dim DbPath1, Conn1
DbPath1="biblioteca.mdb"
Set Conn1 = Server.CreateObject("ADODB.Connection")
Conn1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath1)
Dim Cerca, Rs1, prova
Cerca = Replace(Request.Form("Titolo"), "'","") & Replace(Request.Form("Autore"), "'","") & Replace(Request.Form("Editore"), "'","") & Replace(Request.Form("Anno"), "'","")& Replace(Request.Form("Dislocazione"), "'","")
if Cerca = "" then
prova = " Select * from libri order by ID"
Set Rs1 = Server.CreateObject("ADODB.Recordset")
Rs1.Open prova, Conn1, 3, 3
Do while NOT Rs1.EOF
Response.write " <b><font color=#0000A0 size=2>Titolo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>" & Rs1("Titolo") & "<br><b><font color=#0000A0 size=2>Autore:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>" & Rs1("Autore") & "<br><b><font color=#0000A0 size=2>Editore: &nbsp;</font> </b>" & Rs1("Editore") & "<br><b><font color=#0000A0 size=2>Anno:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> " & Rs1("Anno") & "<br><b><font color=#0000A0 size=2>Dislocazione:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>" & Rs1("Dislocazione") & "<br><br>"
Rs1.MoveNext
loop
Rs1.close
Set Rs1 = Nothing
Conn1.close
Set Conn1 = Nothing

else
Dim DbPath, Conn
DbPath="biblioteca.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
Dim strSQL, Rs
strSQL = "Select * from biblioteca WHERE "&% "%' testo LIKE '%" & request("testo") &"%' " &" ORDER BY " & request("order")

Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open strSQL, Conn, 3, 3
if Rs.EOF then
Response.write " Nessun risultato trovato"
else
Do while NOT Rs.EOF
Response.write " <b><font color=#0000A0 size=2>Titolo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>" & Rs("Titolo") & "<br><b><font color=#0000A0 size=2>Autore:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>" & Rs("Autore") & "<br><b><font color=#0000A0 size=2>Editore: &nbsp;</font> </b>" & Rs("Editore") & "<br><b><font color=#0000A0 size=2>Anno:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> " & Rs("Anno") & "<br><b><font color=#0000A0 size=2>Dislocazione:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>" & Rs("Dislocazione") & "<br><br>"
Rs.MoveNext
Loop
End If
Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
End if
%>

<hr>
<center><a href=documenti/Biblioteca.pdf target="_blank"><Font color=#0000A0 size=2 face=Tahoma,Arial><Strong>Fai clic qui per scaricare l'elenco completo in formato pdf.</Strong></Font><a></center>
</body>
</html>

Grazie a tutti
Stefano
189 messaggi dal 28 maggio 2007
Ma il problema è solo con la stringa SQL?

strSQL = "Select * from biblioteca WHERE testo LIKE '%"& request("testo") &"%' ORDER BY " & request("order")

Ciao

Andrea R.
46 messaggi dal 29 aprile 2007
In pratica la combobox restituisce un valore numerico che corrisponde al numero (in base all'indice) quindi dovresti mettere nella stringa SQL:

SELECT CASE request("order")
          CASE 1
              Tab = "Titolo"
          CASE 2
              Tab = "Autore"
          CASE 3
              Tab = "Editore"
          CASE 4
              Tab = "Anno"
          CASE ELSE
              Tab = "Id"
END SELECT

strSQL = "Select * from biblioteca WHERE testo LIKE '%"& request("testo") &"%' ORDER BY " & Tab
20 messaggi dal 20 maggio 2005
Adesso con questa select il like lo fa tra la parola contenuta nella combo box(drop down list) e la parola inserita nel campo di testo.
Cosa c'è che non va?

strSQL= " SELECT * FROM Libri WHERE '*" & request("order") & "*' like '*" & request("testo") & "*' ORDER BY ID"


Grazie, Stefano
20 messaggi dal 20 maggio 2005
Adesso con questa select il like lo fa tra la parola contenuta nella combo box(drop down list) e la parola inserita nel campo di testo.
Cosa c'è che non va?

strSQL= " SELECT * FROM Libri WHERE '*" & request("order") & "*' like '*" & request("testo") & "*' ORDER BY ID"


Grazie, Stefano

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.