Grande! Così ho risolto almeno 10 errori... però adesso mi sono bloccato di nuovo. Mi da questo errore...
Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
/carrello/carrello.asp, line 21
e questo è il listato
<%
'Variabile prod_id
prod_id = TRIM(Request("id"))
if prod_id <> "" then
'Seleziona il prodotto dal carrello
sqlString = "SELECT car_id FROM car WHERE car_ut_id = "&userid&" AND car_prod_id ="&prod_id
set rs = Con.Execute(sqlString)
if rs.eof then
'Se il prodotto non è presente, crea un nuovo record
sqlString = "INSERT INTO car (car_ut_id, car_prod_id, car_quan) VALUES ("&userid&", "&prod_id&", 1)"
else
'Se il prodotto è presente incrementa di uno il valore
sqlString = "UPDATE car SET car_quan = car_quan + 1 WHERE car_id = "&rs("car_id")
end if
rs.Close
set rs = Nothing
Con.Execute sqlString
end if
'Aggiorniamo la quantità del prodotto o cancelliamolo del tutto...
if Request("updateQ") <> "" THEN
set rs = Server.CreateObject("ADODB.Recordset")
sqlString = "SELECT car_id, car_quan FROM car WHERE car_ut_id = "&userid
rs.Open sqlString, str_conn, 3, 3
while not rs.eof
newQ = TRIM(Request("pq"&RS("car_id")))
if newQ = "" OR newQ = "0" then
rs.delete
else
if isNumeric(newQ) then
rs("car_quan") = newQ
end if
end if
rs.movenext
wend
rs.close
set rs = Nothing
end if
%>
<html>
<head><title>Carrello</title></head>
<body bgcolor="#FFFFFF">
<center>
<font face="Verdana" size=2>Ciao <%=username%> questo è il tuo carrello:</font>
<%
'Apriamo recordset per invio dati relativi al carrello in output
sqlString = "SELECT car_id, prod_nome, prod_prezzo, car_quan FROM car, prodotti WHERE car_ut_id = "&userid&" AND car_prod_id = prod_id ORDER BY car_id DESC"
set rs = con.execute( sqlString )
if rs.eof then
%>
<font face="verdana" size="2">Nessun prodotto presente nel tuo carrello!</font>[/b]
<form action="default.asp">
<input type="submit" value="Continua acquisti">
</form>
<%
else
ordine = 0
%>
<form method="post" action="car.asp">
<input name="updateQ" type="hidden" value="1">
<input name="username" type="hidden" value="<%=username%>">
<input name="password" type="hidden" value="<%=password%>">
<table border=1 cellpadding=4 cellspacing=0>
<tr>
<td><p align=center><font face=verdana size=2>Prodotto</font></p></td>
<td><p align=center><font face=verdana size=2>Prezzo</font></p></td>
<td><p align=center><font face=verdana size=2>Quantità </font></p></td>
</tr>
<%
while not rs.eof
ordine = ordine + (RS("prod_prezzo") * RS("car_quan"))
%>
<tr><td><font face=verdana
size=2><%=Server.HTMLEncode(RS("prod_nome"))%></font></td>
<td><p align=right><font face=verdana
size=2><%=formatCurrency(RS("prod_prezzo"))%></font></p></td>
<td><p align=right><input name="pq<%=rs("car_id")%>" type="text" size=2
value="<%=rs("car_quan")%>"></p></td></tr>
<%
rs.movenext
wend
%>
<tr><td colspan=2 align=right><font face=verdana size=2>Valore ordine
totale:</font></td>
<td><p align=right><font face=verdana
size=2><%=formatCurrency(ordine)%></font></p></td></tr>
<tr><td colspan=3>
<table border=0>
<tr><td align="right">
<input type="submit" value="Aggiorna carrello">
</td>
</form>
<form method="post" action="checkout.asp">
<input name="username" type="hidden" value="<%=username%>">
<input name="password" type="hidden" value="<%=password%>">
<td>
<input type="submit" value="Termina ordine">
</td>
</form>
<form action="default.asp">
<td>
<input type="submit" value="Continua acquisti">
</td>
</form>
</tr>
</table>
</td>
</tr>
</table>
<% end if %>
</center>
</body>
</html>
<%
rs.close
set rs = nothing
con.close
set con = nothing
%>
Il problema è la SQL che dovrebbe buttare dentro i dati nel database di car...
ma non capisco perchè mi da quell'errore