Ok, ho dato un'occhiata un po' meglio all'ultima parte (quella che aggiorna la tabella prodottiOrdinati e che dici che crea problemi.
Supponendo quindi che il resto funzioni:
1) devi portare
a=0
FUORI dal ciclo for, altrimenti ad ogni giro a ritorna a valere zero (anche se prima era stato incrementato) e quindi continuano a venire aggiunti prodotto0 e id0
2) addNew invece va portato DENTRO il ciclo altrimenti dopo il primo aggiornamento il programma trova un'istruzione "update" senza avere prima trovato la relativa istruzione "addNew"
Ho costruito velocemente un database con le necessarie caratteristiche, e un form di inserimento dove i vari input (nell'ambito dello stesso form) si chiamano appunto
prodotto0 id0
prodotto1 id1
prodotto2 id2
ecc..
e funziona bene (il problema di a stringa o intero non esiste, almeno il programma gira comunque)
Quindi, ritornando al tuo codice, l'ultima parte deve diventare:
codice:
dim rs2
set rs2 = server.CreateObject("ADODB.recordset")
rs2.Open "select * from prodottiOrdinati", connessione, 2, 3
a = 0
For i = 0 to Ubound(localCart, 2)
if i <> Ubound(localCart, 2) then
rs2.addnew
prodotto = request.form ("prodotto"&a )
quantita = request.form ("id"&a)
rs2("titolo") = prodotto
rs2("descrizione") = quantita
rs2.update
a = a + 1
end if
next
rs2.close
set rs2 = nothing
Response.Write("Tutto Fatto")
Ok?