Scusa ancora per le richieste ma avrei bisogno del vostro aiuto.

Dovrei aggiornare delle celle del DB con un calcolo per lo sconto ma facendo un loop. Vi posto il codice che è molto più chiaro di una mia spiegazione:

codice:
'--Leggo il contenuto del carrello
  Dim SQLCarrello, RSCarrello
  SQLCarrello = " SELECT * FROM Carrello WHERE IDSessione = '"& SessionID &"' AND ID_Scategoria = '"& id_scategoria &"' "
  Set RSCarrello = Conn.Execute(SQLCarrello)
  
  Do While Not RSCarrello.Eof
  Cprezzo = RSCarrello("Cprezzo")

'--Calcolo lo sconto
 Prezzo_Scontato = (Cprezzo - ArrotondamentoPrezzo((Cprezzo)/100) * percentuale)

'--Aggiorno il prezzo del prodotto nel database
  SQLAggiorno = " UPDATE Carrello SET Cprezzo = '"& Prezzo_Scontato &"' WHERE IDSessione = '"& SessionID &"' AND ID_Scategoria = '"& id_scategoria &"' "  
  Set RSAggiorno = Conn.Execute(SQLAggiorno)

  RSCarrello.MoveNext
  Loop

'--Cancello il codice promo
  SQLCanc = "DELETE FROM promo WHERE valore = '"& campoPromo &"'"
  set rsCanc = Conn.Execute (SqlCanc)

response.redirect "carrello.asp"
  RSCarrello.Close
Il Problema è che se esiste un solo prodotto per quella session e per quella id_scategoria tutto funziona bene ma se ci sono 2 prodotti che corrispondono a quelle condizioni il codice in pratica mi prende solo il primo prezzo, mi calcola lo sconto e poi applica lo stesso prezzo scontato ad entrambi i prodotti invece questi sono diversi.
Cosa sbaglio nel loop?

Grazie mille in anticipo