19 messaggi dal 27 febbraio 2001
il seguente script mi cerca un prodotto da un database con prezzo superiore a 140000 e funziona egregiamente!

<% set rs = db.execute("select * from prodotti Where nome LIKE '%" & parametro & "%' or specifiche LIKE '%" & parametro & "%' AND prezzo > 140000")%>

Naturalmente vorrei porre delle condizioni affinché questa sintassi sia eseguibile in questo modo, allora ho scritto il seguente codice:

<%
strSQL = "select * from prodotti"
blnAddedWhere = False
if Request("trova") <> "" then
if not blnAddedWhere then
strSQL = strSQL & " Where "
blnAddedWhere = True
end if
strSQL = strSQL & "nome LIKE '%" & parametro & "%' or specifiche LIKE '%" & parametro & "%'"
end if

if request("txtprice") <> "" then
if not blnaddedwhere then
strSQL = strSQL & " WHERE "
blnaddedwhere = True
else
strSQL = strSQL & " AND "
end if
strSQL = strSQL & "prezzo "
if request("optpricerange")="LT" then
strSQL = strSQL & "< "
elseif request("optpricerange")="EQ" then
strSQL = strSQL & "= "
else
strSQL = strSQL & "> "
end if
strSQL = strSQL & CDbl(request("txtprice"))
end if

strSQL = strSQL & " order by nome"
set rs = db.execute(strSQL)
%>

L'esecuzione di questo script mi elenca i prodotti corrispondenti al nome contenuto in "TROVA" ma non considera l'opzione di selezione in base al prezzo.
Qualcuno saprebbe dirmi dove sbaglio?
Sarei oltremodo onorato di un consiglio del sig. Bochicchio.

<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
il seguente script mi cerca un prodotto da un database con prezzo superiore a 140000 e funziona egregiamente!
[...]
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

se fai un response.write strSQL che ti dà come query?

<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
Sarei oltremodo onorato di un consiglio del sig. Bochicchio.
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

wow

--
Ciao! .db

Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
La più grande community italiana di sviluppatori!

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
19 messaggi dal 27 febbraio 2001
se metto response.write strSQL mi da:

select * from prodotti Where nome LIKE '%parametro%' or specifiche LIKE '%parametro%' order by nome

ed in effetti salta tutta la parte:

AND prezzo &gt; 140000

Ma dove stà l'errore?, non sono un esperto, ma pensavo che il ciclo if/then fosse cosa capita!

Ringrazio anticipatamente se volesse rispondere ancora.



Il problema secondo me è che nel secondo IF quello del "txtprice" non entra proprio per il semplice fatto che o l'AND o il WHERE alemeno ci dovevano essere.

Controlla bene il campo del form se effettivamente ha quel nome. Non vedo altre soluzioni...

Ciao

Andrea Palmatè
webmaster di:
http://www.sandrotoffi.it

--
Andrea Palmatè

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.