<%

Dim azione, cliente

cliente = Session("IDCliente")
azione = Trim(Request.QueryString("act"))

Select Case azione
Case "elimina"

Dim prodottoDel, clienteDel, idDel

prodottoDel = CInt(Request.QueryString("idProdDel"))
clienteDel = CInt(Request.QueryString("idClienteDel"))
idDel = CInt(Request.QueryString("id"))

Dim sqlDelete
sqlDelete = "DELETE FROM tbcarrello WHERE IDProdotto=" & prodottoDel & " And IDCliente=" & clienteDel & " And ID=" & idDel
'response.Write(sqlDelete):response.End()
objConn.Execute(sqlDelete)

Case "add"

Dim IDprodotto, marca, modello, desc, prezzo, quantita

IDprodotto = Trim(Request.QueryString("IDProdotto"))
marca = Trim(Request.QueryString("marca"))
modello = Trim(Request.QueryString("modello"))
desc = marca + " " + modello
quantita = CInt(Trim(Request.QueryString("qt")))
prezzo = CDbl(Trim(Request.QueryString("prezzoProd")))

Dim sqlInsert
sqlInsert = "INSERT INTO tbcarrello (IDCliente, IDProdotto, Descrizione, Quantita, PrezzoUnitario, PrezzoTotale) " &_
"VALUES (" & cliente & ", " & IDProdotto & ", '" & desc & "', " & quantita & ", '" & prezzo & "', '" & prezzo * quantita & "')"

'response.Write(sqlInsert):response.End()
objConn.Execute(sqlInsert)

Case "aggiungi"

Dim invio
invio = CInt(Request.Form("n"))

If invio = 0 Then

Dim arrQt, arrIdProd, arrPrezzo
arrQt = split(Request.Form("quantita"),",")
arrIdProd = split(Request.Form("IDProd"),",")
arrPrezzo = split(Request.Form("prezzoUnit"),",")

Dim sqlUpdate, k

For k = lbound(arrQt) To ubound(arrQt)
sqlUpdate = "UPDATE tbcarrello SET Quantita=" & CInt(arrQt(k)) & ", PrezzoTotale=" & CDbl(arrPrezzo(k)) * CInt(arrQt(k)) & " WHERE IDCliente=" & cliente & " And IDProdotto= " & arrIdProd(k)
'Response.Write(sqlUpdate):response.End()
objConn.Execute(sqlUpdate)
Next

Else

Dim arrQt2, arrIdProd2, arrPrezzo2
arrQt2 = split(Request.Form("quantita"),",")
arrIdProd2 = split(Request.Form("IDProd"),",")
arrPrezzo2 = split(Request.Form("prezzoUnit"),",")

Dim sqlCount
sqlCount = "SELECT COUNT(*) AS totale FROM tbcarrello WHERE IDCliente =" & cliente

Dim rsCount, errore
errore = false

Set rsCount = objConn.Execute(sqlCount)

If rsCount("totale") <= 0 Then
Response.Write("NO")
End If

rsCount.close
Set rsCount = Nothing

Dim sqlConferma, articoli

For k = lbound(arrQt2) To ubound(arrQt2)

'################# Conferma Acquisto ##############################

Dim sqlProdotto, rsProdotto
sqlProdotto = "SELECT * FROM tbprodotti WHERE IDProdotto ='" & arrIdProd2(k) &"'"

Set rsProdotto= objConn.Execute(sqlProdotto)

sqlConferma = "INSERT INTO tbacquisti (IDCliente, Articolo, Quantita, PrezzoUnitario, Totale, DataOra) " &_
"VALUES (" & cliente & ", '" & rsProdotto("MarcaProdotto") + " " + rsProdotto("ModelloProdotto") & "', " & arrQt2(k) & ", " & Cdbl(arrPrezzo2(k)) & ", " & CDbl(arrPrezzo2(k) * arrQt2(k)) & ", NOW())"

'response.Write(sqlConferma):response.End()
objConn.Execute(sqlConferma)

'##################### Aggiornamento Quantita ####################################

Dim sqlDisp

sqlDisp = "UPDATE tbprodotti SET Disponibilita =" & CInt(rsProdotto("Disponibilita")) - CInt(arrQt2(k)) & " WHERE IDProdotto=" & arrIdProd2(k)

objConn.Execute(sqlDisp)

'#################### Aggiornamento Disponibilita ##############################

Dim sqlNewDisp

sqlNewDisp = "SELECT * FROM tbprodotti WHERE IDProdotto ='" & arrIdProd2(k) &"'"

Dim rsNewDisp
Set rsNewDisp= objConn.Execute(sqlNewDisp)

If rsNewDisp("Disponibilita") = 0 Then

Dim sqlDisp2

sqlDisp2 = "UPDATE tbprodotti SET StatoProdotto = 'false' WHERE IDProdotto=" & arrIdProd2(k)

objConn.Execute(sqlDisp2)

End If

'###################### Articoli Ordinati #######################################

articoli = articoli + "Articolo : " + rsProdotto("MarcaProdotto") + " " + rsProdotto("ModelloProdotto") + " Quantita : " + arrQt2(k) + " Prz. Unitario " + formatCurrency(arrPrezzo2(k)) + " Prz. Totale : " + formatCurrency(CDbl(arrPrezzo2(k) * arrQt2(k))) & Chr(10)

Next



'***********************************
'INVIO MAIL

Dim sqlMail, rsMail
sqlMail = "SELECT * FROM tbclienti WHERE IDCliente ='" & cliente &"'"

Set rsMail = objConn.Execute(sqlMail)

...........
..........................

rsMail.close
Set rsMail = Nothing

rsNewDisp.close
Set rsNewDisp = Nothing


rsProdotto.close
Set rsProdotto = Nothing

'*********************************

Dim sqlSvuota2
sqlSvuota2 = "DELETE FROM tbcarrello WHERE IDCliente=" & cliente
objConn.Execute(sqlSvuota2)


End If

Case "svuota"

Dim sqlSvuota
sqlSvuota = "DELETE FROM tbcarrello WHERE IDCliente=" & cliente
objConn.Execute(sqlSvuota)

End Select

Dim utenti, varNewsletter
utenti = Application("Utenti")

varNewsletter = Request.Form("email")

If varNewsLetter <> "" Then
Dim sqlNL

sqlNL = "INSERT INTO tbnewsletter (Email, DataOraReg) VALUES ('" & varNewsletter &"', NOW())"
objConn.Execute(sqlNL)

End If


%>


Se invio quando sono stati fatti acquisti funziona benissimo, mentre se il carrello e vuoto mi da questo errore:

Errore di run-time di Microsoft VBScript error '800a01a8'
Necessario Oggetto: "
line 195(riga rossa)

Aiutatemi, forse non ho chiuso qualke oggetto......boh