Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Valore inserito in tabella arrotondato

    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

    codice:
    ' 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
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma tu lo tratti come stringa!

    '" & spesespedizione & "'


    roby

  3. #3
    Io lo inserisco così perchè esso è un campo esterno, come tipopagamento.

    Scusa Roby_72 ma non ho capito come inserirlo


    Il mio
    codice:
    ....
    "'" & spesespedizione & "', " &_
    ...
    diventa
    codice:
    ....
    '" & spesespedizione & ', " &_
    ...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se è un campo numerico non ci vanno gli apici.

    codice:
    " & spesespedizione & ", " &_
    Inoltre se passi la virgola come separatore dei decimali, sappi che in inglese devi mettere il punto:

    codice:
    " & replace(spesespedizione, ",", ".") & ", " &_

    Roby

  5. #5
    In entrambi i casi mi dà errore:
    prevista fine istruzione.

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non devi togliere i pezzi...

    codice:
    "" & spesespedizione & ", " &_
    codice:
    "" & replace(spesespedizione, ",", ".") & ", " &_
    Roby

  7. #7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.