Pagina 1 di 1

Campo decimal o float non salva i decimali

Inviato: 14 nov 2018, 17:47
da Giovannino
Salve,
ho creato un nuovo semplicissimo form (Editable grid view) con banali campi tipo decimal x Prezzo decimal(10,2) e Sconto decimal(6,2) (mySQL) .
In inserimento e aggiornamento dati mi lascia scrivere normalmente sia il numero che i decimali . Cliccando su icone inserisci o aggiorna vedo ancora i valori corretti a video con virgola e decimali.
Per scrupolo vado a vedere il valore nelle colonne della tabella e mi ritrovo solo i numeri interi senza decimali.
Provato di tutto .... anche a variare i campi in float ma non si riescono a salvare i decimali.

Prezzo 3223,78 ----> db 3223,00
Sconto 65,32 ----> db 65,00

Ho perso già tutto il pomeriggio .... incredibile

Re: Campo decimal o float non salva i decimali

Inviato: 20 nov 2018, 09:19
da Fabio
Di solito questi sono problemi di formattazione. Nel database la notazione standard per i decimali prevede il punto, non la virgola.
Nel campo bisogna quindi assicurarsi di aver definito correttamente il formato per il database (che può essere diverso da quello visualizzato).

Re: Campo decimal o float non salva i decimali

Inviato: 20 nov 2018, 09:28
da Giovannino
Si avevo controllato più volte .

L'unico modo per inserire i dati dopo la virgola è stato quello di aggiungere in onAfterInsert
$Sql_ins= "INSERT INTO requests_lines (request_id , item, quantity, price, discount) VALUES ({request_id} , {item}, {quantity}, {price}, {discount});";
sc_exec_sql($Sql_ins);
e in onAfterUpdate
$Sql_upd= "UPDATE `requests_lines` SET `item`='{item}',`quantity`= {quantity},`price`='{price}',`discount`= '{discount}' WHERE id_request_line_id = {id_request_line_id};";
sc_exec_sql($Sql_upd);

Ma mi sembra assolutamente anomalo.

Re: Campo decimal o float non salva i decimali

Inviato: 23 nov 2018, 14:31
da rino
C erto che è anomalo , hai sicurament eun problema di conversione che potrebbe anche essere nascosto se hai fatto delel variazioni sul disegno dei campi nel tempo. A me è accaduta la perdita di decimani dopo ave rfatto variaizoni sui dimensionament e per recuperare tutto sono passato dal definirlo testo per poi tornare a decimali.
Ci sono tanti modi per rovinare le dimensioni iniziali in php , visto che le dimensioni si modificano nel momento in cui si usa la variabile.

Re: Campo decimal o float non salva i decimali

Inviato: 23 nov 2018, 16:12
da Giovannino
Ciao Rino,
mi sa che è una cosa del genere.
Quando fai variazioni di tipo dato nel db, nel dictonary o dopo le sincronizzazioni... nascono , qualche volta, comportamenti incredibili.
Forzando con Insert funziona .. certo che non mi sembra tanto ortodosso.
Saluti