170 messaggi dal 07 marzo 2004
Ciao ragazzi,
uso il codice di seguito nel checkout di un ordine e alla conferma passo tutto il contenuto del carrello alla tabella ordini.
Tutto funziona correttamente tranne per la variabile
"spesespedizione": infatti io la valorizzo estraendo il suo valore da una tabella (spedizioni) e usando questo codice la inserisco nella tabella ordini.
Il mio problema riguarda il fatto che il suo valore quando viene inserito da carrello a ordini viene arrotondato (se è 7,5 viene inserito come 7) !!
Eppure il campo ordini_spesespedizione in MySql è impostato come double(10,1)

Dove sta il problema?
Ciao


' estrazione della nazione utente
sqlString = "SELECT utenti_nazione FROM utenti " &_
  "WHERE utenti_id=" & userID 
SET RS = Con.Execute( sqlString )
nation = RS( "utenti_nazione" )

' determinazione spese di spedizione
sqlString = "SELECT spedizioni_prezzo FROM spedizioni " &_
  "WHERE spedizioni_nazione='" & nation &"'"
SET RS = Con.Execute( sqlString )
spesespedizione = RS( "spedizioni_prezzo" )

' aggiorna giacenza prodotti dalla tabella carrello
sqlString = "UPDATE prodotti, carrello " &_
 "SET prodotti.prodotti_giacenza = prodotti.prodotti_giacenza - carrello.carrello_quantita " &_
 "WHERE prodotti.prodotti_id = carrello.carrello_prodottoID " &_
 "AND carrello_utenteID =" & userID  
Con.Execute sqlString

tipopagamento = Request.Form("tipopagamento")
  
' trasferisci carrello alla tabella ordini
sqlString = "INSERT INTO ordini (" &_
  "ordini_id, " &_
  "ordini_prodottoID, " &_
  "ordini_quantita, " &_
  "ordini_prezzoprodotto, " &_
  "ordini_spesespedizione, " &_
  "ordini_utenteID, " &_
  "ordini_tipopagamento, " &_
  "ordini_dataconferma, " &_
  "ordini_stato " &_
  ") SELECT " &_
  "carrello_id, " &_
  "carrello_prodottoID, " &_
  "carrello_quantita, " &_
  "prodotti_prezzo, " &_
  "'" & spesespedizione & "', " &_
  "carrello_utenteID, " &_ 
  "'" & tipopagamento & "'," &_
  "NOW(), " &_
  "0 " &_
  "FROM carrello, prodotti " &_
  "WHERE carrello_utenteID =" & userID & " " &_
  "AND carrello_prodottoID = prodotti_id "
Con.Execute sqlString

' svuota tabella carrello
sqlString = "DELETE FROM carrello " &_
  "WHERE carrello_utenteID=" & userID

Con.Execute sqlString
  
' fine transazione
Con.CommitTrans
%>

265 messaggi dal 28 aprile 2001
Ciao,

forse il problema e' quando trasferisci la variabile dopo l'estrazione della query di estrazione.
 Hai dichiarato a double la variabile spesedispedizione (potresti addirittura usare currency ... per l'euro) ?

Ciao

Non dir di me' se di me' non sai, pensa di te ... e poi di me' dirai.

Autore (sottoscritto)

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.