Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    SQL server, campo Numerico e UPDATE

    Salve.
    ho un problema nell'eseguire un'update.

    Ho un campo numerico nel DB al quale posso aggungere fino a 3 cifre dopo la virgola...
    ora il mio problema è che quando modifico un valore, chessò da 1 a 1,5 o 1,4 o qualsiasi valore con la virgola, nel DB non viene aggiornato ma resta il numero intero.

    Se lo inserisco come 1.5 diventa 2

    Preciso che l'insert funziona in maniera corretta...

    se stampo la qry il valore è con la virgola...
    come mai allora non viene inserito con la virgola???

    la qry è questa...

    quantita = cdbl(Request.Form("quantita"))

    sql ="update ordini "_
    &" set descrizione = '"&descrizione&"'"_
    &" ,quantita = convert(decimal,"&(quantita)&")"_ <--- Il problema
    &" ,prezzo_vendita = convert(money,"&prezzo_vendita&")"_
    &" ,prezzo_acq = convert(money,"&prezzo_acq&")"_
    &" ,evaso = '"&evaso&"'"_
    &" ,fatturato = '"&fatturato&"'"_
    &" ,idfornitore = '"&idfornitore&"'"_
    &" ,idsocieta = '"&idcliente&"'"_
    &" ,data_ordine = '"&data_ordine&"'"_
    &" ,idcommerciale = '"&idcommerciale&"'"_
    &" where id ="&idmateriale1&";"

    il capo è QUANTITA
    ho provato convert, ho provato con e senza CDbl ma nulla sempre un'intero....
    perkè????

    grazie
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il campo del db che tipo di campo è?

    Roby

  3. #3
    hem....
    Salve.
    ho un problema nell'eseguire un'update.

    Ho un campo numerico nel DB al quale posso aggungere fino a 3 cifre dopo la virgola...
    ora il mio problema è che quando modifico un valore, chessò da 1 a 1,5 o 1,4 o qualsiasi valore con la virgola, nel DB non viene aggiornato ma resta il numero intero.
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Campo numerico in SQL server non vuol dire molto...
    Che tipo di campo hai usato per definire il campo numerico che ti serve?

    Roby

  5. #5
    ho appena aperto SQL Server Enterprise Manager
    ho fatto design table
    e compare:

    NUMERIC

    non sono molto esperto in SQL ecc ecc
    ma tradurre...
    cmq ti allego uno screen...
    Immagini allegate Immagini allegate
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  6. #6
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    prova con 1.5
    il separatore dei decimali è il punto
    Tutti vogliono parlare, nessuno sa ascoltare.

  7. #7
    ho provato, ma se metto 1.5 a mano nel DB non me lo prende, e poi il . no è il separatore delle migliaglia
    Invece se metto 1.5 dalla pagina asp diventa 2 ?!?!??! :master:

    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  8. #8
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    forse perché in asp usi CINT oppure sbagli ad usare ROUND

    posta il codice che usi per l'insert
    così ad occhio pare un errore di asp e non legato ai campi di sqlserver
    Tutti vogliono parlare, nessuno sa ascoltare.

  9. #9
    mmm perkè la insert? la insert funziona correttamente è l'update che non va...
    cmq nella insert scrivo:

    convert(decimal,"&(quantita)&")

    come x l'update
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  10. #10
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    allora l'errore era di sql
    devi usare

    convert(decimal(10,2),"&(quantita)&") ....

    se non dici la scala (il 2 dentro la parentesi) lui considera scala 0 cioè senza decimali ed approssima all'intero più vicino
    Tutti vogliono parlare, nessuno sa ascoltare.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.