5 messaggi dal 07 aprile 2001

inserendo i dati in un form per l'interrogazione di un dbaccess, entra in funzione il seguente motore asp
MOTOR.ASP
<% rem legge dal form
titolo=request.form("titolo")
autore=request.form("autore")
cat=request.form("cat")
ed=request.form("editrice")
if titolo="" then titolo="%"
if autore="" then autore="%"
if cat="tutte" then cat="%"
if ed="tutte" then ed="%"

sql="select *from tablibri where titolo like '%"&titolo&"%' and autore like '%"&autore&"%'and cat like '%"&cat&"%' and editrice like '%"&ed&"%'"
Set OBJdbConnection =Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open"driver=;dbq=c:\inetpub\wwwroot\libri\fpdb\libri.mdb"
Set RS=OBJdbConnection.Execute(sql)%>
<%
response.write ("<center><h2>Libri Trovati</h2><br><table border=1><tr><td>Numero</td><td align=center>Titolo</td><td>Autore</td><td>Anno</td><td>Categoria</td><td align=center>Casa Editrice</td><td>Prezzo</td><td>Collana</td></tr>")%>
<%Do while NOT RS.EOF
i=i+1%>

<table>

<TR>
<TD><%=i%></TD>
<td><% id=rs("id")
titolo=rs("titolo")%>
<a href="libro.asp?ID=<%=id%>">
<%=titolo%></a><br>
</td>

<td><%response.write(RS("autore"))
autore=rs("autore")%></td>
<td><%response.write(RS("anno"))
anno=rs("anno")%></td>
<td><%response.write(RS("cat"))
cat=rs("cat")%></td>
<td><%response.write(RS("editrice"))
ed=rs("editrice")%></td>
<td><%response.write("L. "&RS("prezzo"))
prezzo=rs("prezzo")%></td>
<td><%response.write(RS("collana"))
collana=rs("collana")%></td>
</TR>
<%
imm=rs("imm")
RS.MoveNext
Loop
RS.Close
OBJdbConnection.Close%>
</BODY>

Che però mi dà errore come da msg seguente:

MOTOR.ASP
Microsoft OLE DB Provider for ODBC Drivers errore "80040e10'
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 2.
/libri/motor.asp, riga 15

qualcuno può aiutarmi a capire??


la riga 15 è: Set RS=OBJdbConnection.Execute(sql)%>

a che cosa può essere riferito "parametri insufficienti" ???



sql="select *from

va sostistuito in

sql = "SELECT * FROM

notare lo spazio tra * e FROM.

--
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
Significa che la query che lanci non ha sufficienti parametri per quelli che setti nella query stessa. Esempio:

SELECT * FROM test WHERE ID="&session("MyID")

Se la session è vuota ti da "Parametri insufficienti". Capita spesso anche a me quando ho query chilometriche.


"This message was written using 100% recycled electrons"
635 messaggi dal 06 settembre 2002
Non so se hai già risolto, tuttavia, nel codice postato, se corrisponde esattamente a quello utilizzato, manca qualcosa... la seguente istruzione...

OBJdbConnection.Open"driver=;dbq=c:\inetpub\wwwroot\libri\fpdb\libri.mdb"

dovrebbe essere cambiata in...

OBJdbConnection.Open "dbq="&Server.MapPath("libri.mdb")&";driver={Microsoft Access Driver (*.mdb)};"

attenzione, se il database libri.mdb non risiede all'interno della stessa cartella della pagina, devi specificare la path

es. Server.MapPath("..\fpdb\libri.mdb")

cioè da dove sono torno indietro di una sottocartella ed entro nella cartella fpdb.

Spero di essere stato di aiuto.

 JD

OJD

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.