Decimal e SQLserver

martedì 26 aprile 2005 - 19.01

terzinho Profilo | Newbie

Ho un problema nello scambio di dati decimal con un DB.

Ho un valore in EURO in una textbox

Quando converto questo valore da string (contenuto della txtbox) in un valore di tipo decimal, il compilatore toglie la virgola e mette un punto.

Quando SQLserver legge questo valore ignora il punto e prende il numero come intero.

NB: Ho controllato tutti i tipi e posso assicurare che in SQL il valore del campo è di tipo decimal.

QUALCUNO PUO AIUTARMI?

Cteniza Profilo | Guru

Se sono delle textbox "bindate" con un dataset probabilmente hai bisogno di impostare correttamente due blocchi di Format e Parse collegandone gli eventi al textbox.
Se invece trasmetti i dati tramite un comando sql prova a gestire i parametri al posto di scrivere direttamente la stringa.
In ogni caso quello che deve arrivare al comando sql è un campo con un punto come delimitatore dei decimali.

terzinho Profilo | Newbie

La gestione da me effettuata è tramite parametri passati a delle stored procedures memorizzate nel DB.

il problema, però risuede proprio nel fatto che il valore decimale del parametro viene preso col punto e SQL lo legge come intero.

ES:

Valore Textbox : 12,55555
Valore Parametro : 12.55555
Valore in SQL : 12

Andy Profilo | Senior Member

Puoi risolvere utilizzando il formato Double invece che il decimal, e quando lo passi alla stringa SQL eventualmente sostituisci le virgole col punto:

Dato.tostring.Replace(",", ".")

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5